我定义了一个自定义面板,里面有一个表格布局面板。但是,当我在 winform 上使用此控件时,我无法访问表格布局面板属性。(例如,我想在单元格中添加一列或停靠其他控件)。我尝试将修饰符属性更改为公共,但它仍然不起作用。我该怎么做才能查看和更改面板布局属性?
事实上,这个问题可以更笼统:如何访问/修改/移动自定义用户控件中包含的控件?
谢谢
我定义了一个自定义面板,里面有一个表格布局面板。但是,当我在 winform 上使用此控件时,我无法访问表格布局面板属性。(例如,我想在单元格中添加一列或停靠其他控件)。我尝试将修饰符属性更改为公共,但它仍然不起作用。我该怎么做才能查看和更改面板布局属性?
事实上,这个问题可以更笼统:如何访问/修改/移动自定义用户控件中包含的控件?
谢谢
您需要在用户控件中公开要修改的属性。例如,要更改表格布局控件的列计数属性,从您的用户控件中,您必须公开 ColumnCount 属性:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public int ColumnCount
{
get
{
return this.tableLayoutPanel1.ColumnCount;
}
set
{
this.tableLayoutPanel1.ColumnCount = value;
}
}
}
然后你也可以开始使用一些属性来控制你的用户控件在 Visual Studio 中的显示方式,例如,上面可以这样修改:
[DefaultProperty("ColumnCount")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
[Description("Gets or sets the column count of the table layout.")]
[Category("TableLayout")]
[DefaultValue(2)]
public int ColumnCount
{
get
{
return this.tableLayoutPanel1.ColumnCount;
}
set
{
this.tableLayoutPanel1.ColumnCount = value;
}
}
}
这会将整个用户控件的默认属性设置为“ColumnCount”,并为列计数属性提供描述,默认值为 2,并设置它应在设计器的属性窗口中显示的类别。用户控件可以做更多的事情来添加设计时支持。