2

4 つのTextBoxes を (この順序で: textBox1textBox2、...) 作成し、 内で上下に配置しました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);
        }
    }
}

プログラムを実行してButton(すべてのTextBoxes が空の場合) をクリックすると、次のような出力が得られます。

textBox4

テキストボックス3

テキストボックス2

テキストボックス1

どうやら、ループはコントロールを逆の順序でforeach繰り返しました。これが作成されてグループボックスに入れられた順序だったので、GroupBox私はそれが to to になると思っていtextBox1ました。textBox4

なぜforeachループが逆になったのですか?ちょっと興味があるんだけど...

4

2 に答える 2

5

コントロールは、同じ親コンテナー内のコントロールのZオーダーの順序(最上部から最下部)に配置されます。どのように注文しますか?

于 2012-12-13T16:32:41.470 に答える