我想创建一种带有文本框和复选框的4 x 3矩阵。元素是复选框还是文本框取决于数据库中的值。我希望它是动态的。什么是最好的开始方式?
// something like this but I need to fill in each elements of the matrix...
private void CreateSpecificControl(string requestedType)
{
if (requestedType == "CheckBox")
{
CheckBox control1 = new CheckBox();
control1.Click += new EventHandler(chk_CheckedChanged);
//TableLayout panel
layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25));
layout.Controls.Add(control1);
}
else
{
Label control1 = new Label();
control1.Text = "Not a checkbox";
layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25));
layout.Controls.Add(control1);
}
}
答案 0 :(得分:1)
使用usercontrol。请参阅此tutorial。
在运行时,您可以更改User控件的内容。每个用户控件中都有一个Controls集合,您可以在其中添加或删除元素。例如,如果您想添加复选框,请执行以下操作:
myUserControl.Controls.Add(new CheckBox());
同样可以从此集合中删除元素,从而实现动态行为。