フォームにいくつかのコントロールがあり、(デザイナーを介して) 関数を Leave イベントに割り当てました。次のようなものです。
textBox1.Leave += new System.EventHandler(f1);
textBox2.Leave += new System.EventHandler(f2);
textBox3.Leave += new System.EventHandler(f3);
これらの関数は、テキスト ボックスに対していくつかの検証を実行します。すべてのテキスト ボックスが同じデリゲートを呼び出すわけではないことに注意してください。
私が今必要としているのは、私が望むときに「ねえ、Leave イベントを起動してください」と彼らに伝えることができることです。私の場合、この関数を最初のどこかで呼び出します。
private void validateTextBoxes()
{
foreach (Control c in c.Controls)
{
TextBox tb = c as TextBox;
if (tb != null)
{
// Fire the tb.Leave event to check values
}
}
}
したがって、すべてのテキストボックスは独自のコードで検証されます。