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