C# WinForms用户控件设计

C# WinForms用户控件设计,c#,user-controls,C#,User Controls,我已经创建了用户控件,它承载datagridview和其他控件。 然后我把它放到表格上。 我如何允许自己在目标表单中自定义网格的属性(如显示哪些列)? 我认为将其修饰符设置为public就足够了。应该可以这样做,然后您可以通过您的用户控件实例对网格进行寻址。假设您的控件名为“MyControl”,并且控件中的网格名为“MyGrid”,那么您应该能够使用MyControl.MyGrid.访问属性。您可以向UserControl添加属性,以帮助您从不同的表单更改控件的设计 问题没有以我最初提出的一般

我已经创建了用户控件,它承载datagridview和其他控件。 然后我把它放到表格上。 我如何允许自己在目标表单中自定义网格的属性(如显示哪些列)?

我认为将其修饰符设置为public就足够了。

应该可以这样做,然后您可以通过您的用户控件实例对网格进行寻址。假设您的控件名为“MyControl”,并且控件中的网格名为“MyGrid”,那么您应该能够使用
MyControl.MyGrid.
访问属性。

您可以向UserControl添加属性,以帮助您从不同的表单更改控件的设计

问题没有以我最初提出的一般方式解决。
作为一个快速的攻击,我为我需要的一些网格属性(比如Columns集合)声明了公共属性
Tnanx感谢您的帮助。

以编程方式是的。那么设计时呢?可能重复的属性可能会出现在UserControl属性(在分类视图中)的“miscellanous”选项卡下。我可以像publicstringdisplaytext{get{returnusercontroltextbox.Text}set{……这样做,但是我需要能够直接(用鼠标)与控件交互,这样当我单击由表单托管的UserControl托管的控件时,我将获得该控件的属性,特别是DataGridView(或XtraGrid)在UserControl的InitializeComponent中的我的网格上[Browsable(true)][EditorBrowsable(EditorBrowsableState.Always)][DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]也没有帮助(((