我知道如何定义一个由 int[i]、byte[i] 等组成的数组。喜欢它,因为我可以使用 for 循环来运行它们。现在我正在考虑对文本框、按钮、标签等花哨的对象做同样的事情......我想知道这是否可能。
如果是,那怎么办?对象的名称将如何?像 mytextbox[1]、mylabel[2] 这样的东西?
这是完全正确的。
TextBox[] myTextBoxes = new TextBox[10];
或者,您可以创建一个类型数组Control
并将其与任何类型的控件一起使用:
Control[] myControls = new Control[10];
myControls[0] = new TextBox();
myControls[1] = new DropDownList();
为了将这些添加到您的表单中,您必须将每个Controls
动态添加到表单的属性中。
foreach(Control control in myControls)
{
Controls.Add(control);
}
您还必须在后面的代码中设置每个控件的属性,例如Id
、等,Text
以及Height
、和. 这就是您将每个控件放置在表单上所需位置的方式。Width
Top
Left
您可以创建一个可以包含所有这些元素的通用列表,但请记住,如果您不知道这些元素是什么类型,那么之后您将无法访问它们的属性。
所以,如果你做一个标签数组(或列表,所以你不定义大小):
List<Label> labelList = new List<Label>();
那么没关系,因为您可以使用 for/foreach 遍历它们以及您需要做的任何事情。
如果您想构建一个非同质的项目列表,同时放入标签、文本框和其他项目,请记住,在实际使用该对象之前,您必须付出额外的努力来确定 list[i] 是什么.