C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 102 を表示中)
■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の動作をクリアできないか困っています。
返信 編集キー/


管理者用

- Child Tree -