组合框中的TextBox的foreach循环以相反的顺序迭代?

kod*_*kod 2 c# foreach winforms

我创建了四个TextBoxes(按此顺序:textBox1,, textBox2...)并将它们放在另一个下面GroupBox.然后我添加了Click事件:

private void button1_Click(object sender, EventArgs e)
{
    foreach (TextBox tb in groupBox1.Controls.OfType<TextBox>())
    {
        if (string.IsNullOrWhiteSpace(tb.Text))
        {
            Console.WriteLine(tb.Name);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行程序并单击Button(当所有TextBoxes为空时),这是我得到的输出:

textBox4

textBox3

TextBox2中

textBox1的

显然,foreach循环GroupBox以相反的顺序迭代控件.我希望它能够实现textBox1,textBox4因为这是他们创建并放入组合框的顺序.

为什么foreach循环反向?只是好奇...

Tim*_*ter 5

控件按照同一父容器中控件的Z顺序排列(从最顶部到最底部).你想怎么订购?