-1

我知道如何定义一个由 int[i]、byte[i] 等组成的数组。喜欢它,因为我可以使用 for 循环来运行它们。现在我正在考虑对文本框、按钮、标签等花哨的对象做同样的事情......我想知道这是否可能。

如果是,那怎么办?对象的名称将如何?像 mytextbox[1]、mylabel[2] 这样的东西?

4

2 回答 2

8

这是完全正确的。

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、和. 这就是您将每个控件放置在表单上所需位置的方式。WidthTopLeft

于 2012-12-13T16:46:16.393 回答
1

您可以创建一个可以包含所有这些元素的通用列表,但请记住,如果您不知道这些元素是什么类型,那么之后您将无法访问它们的属性。

所以,如果你做一个标签数组(或列表,所以你不定义大小):

List<Label> labelList = new List<Label>();

那么没关系,因为您可以使用 for/foreach 遍历它们以及您需要做的任何事情。

如果您想构建一个非同质的项目列表,同时放入标签、文本框和其他项目,请记住,在实际使用该对象之前,您必须付出额外的努力来确定 list[i] 是什么.

于 2012-12-13T16:50:29.843 回答