簡體   English   中英

C#Winforms帶有DataGridView的可視繼承問題

[英]C# Winforms visual inheritance problem with DataGridView

這里,我創建了一個BaseForm ,然后將其所有BaseForm.Designer.cs private成員設置為protected 然后具有可視的繼承/派生Form

現在,我可以在設計時調整大小或修改派生Form中除DataGridView之外的所有DataGridView 我發現DataGridView鎖定在派生的Form ,即使它未鎖定在BaseForm中也是BaseForm

可能是什么原因? 我應該再次尋找/檢查什么?

我有一個像這樣的基本形式: 替代文字

我得到了這樣的形式: 替代文字

這是一個已知的問題。

https://connect.microsoft.com/VisualStudio/feedback/details/284335/designer-prevents-access-to-protected-datagridview-control-in-inherited-form

您可以創建一個用戶控件類並從DataGridView類派生

[Designer(typeof(System.Windows.Forms.Design.ControlDesigner))]
public class MyDataGridViewUserControl : DataGridView { }

某些.NET控件似乎有問題。 這里有個不錯的文章:

DataGridView鎖定在繼承的UserControl上

我猜想VS設計器會鎖定來自基類的控件。 因為您具有相同的初始化代碼,所以您將在基類內部更改grid的屬性,這會影響所有其他派生形式。

如果要更改網格的屬性,我建議為子表單使用單獨的網格,因為它的行為應有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM