4 つのTextBox
es を (この順序で: 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);
}
}
}
プログラムを実行してButton
(すべてのTextBox
es が空の場合) をクリックすると、次のような出力が得られます。
textBox4
テキストボックス3
テキストボックス2
テキストボックス1
どうやら、ループはコントロールを逆の順序でforeach
繰り返しました。これが作成されてグループボックスに入れられた順序だったので、GroupBox
私はそれが to to になると思っていtextBox1
ました。textBox4
なぜforeach
ループが逆になったのですか?ちょっと興味があるんだけど...