■60995 / ) |
Re[2]: varidateの制御を教えてください。 |
□投稿者/ 裕猫 (242回)-(2011/07/28(Thu) 16:47:07)
|
■No60985 (shu さん) に返信 > と表示されます。つまりValidatedはMouseDownより前に動いています。 > なので、MouseDownより後のClickでAutoValidateの制御をしても意味がありません。 > Validatedが動いたときのthis.ActiveControlはbutton1になっているのでその辺で判断すると > よいかもしれません。 アドバイスありがとうございます。こんな風に書き換えてみました。 private bool ContCheck() { MessageBox.Show(this.ActiveControl.Name); switch (this.ActiveControl.Name) { case "button3": case "button4": return false; break; default: return true; break; } }
private void textBox1_Validated(object sender, EventArgs e) { if (ContCheck() == false) { return; } textBox1.Text = "textbox1"; }
private void button3_Click(object sender, EventArgs e) { MessageBox.Show("button3"); }
実行してみましたが、button3では実行完了しているはずのtextbox1_validatedがbutton3→textbox2クリック時に動きます。 どこかをクリックするとその前に実行されたvalidateを実行するようです。どうしたらvalidateの動作をクリアできないか困っています。
|
|