【发布时间】:2014-09-20 20:13:14
【问题描述】:
我正在编写代码来获取面板中的所有控件,例如:
foreach (Control c in panel1.Controls)
{
MessageBox.Show(c.Name.ToString());
}
是的,把所有的 Controls 还给我。 Top 控件(textBox1)的 TabIndex 为 0,自上而下递增(即 textBox2 在 textBox1 下方,textBox2 的 TabIndex 为 1。)
当我在 MessageBox 中运行此代码时,它首先返回 textBox2,然后返回 textBox1!
那么,这个选择的依据是什么(为什么计算机一开始会选择textbox2)?
我该如何解决这个问题?!
谢谢你
【问题讨论】:
-
这取决于您在设计时如何添加它们
-
您是否使用 Visual Studio 的 WinForms 设计器来创建您的表单?如果是这样,VS 将自动生成控件的代码,并且可能是在
textBox2之后添加了textBox1,这显然会导致textBox2在迭代中首先返回。此外,通过做一些研究,您可以了解Collections...