|
分類:[C#]
VC#2003 でフォームに3つのテキストボックスを配置しました。
textBox1,textBox2,textBox3 とします。
textBox1とtextBox2にEnter,Leaveイベントのメソッドを割り当てます。
private void textBox1_Enter(object sender, System.EventArgs e)
{
}
private void textBox1_Leave(object sender, System.EventArgs e)
{
}
private void textBox2_Enter(object sender, System.EventArgs e)
{
this.textBox1.Focus();
}
private void textBox2_Leave(object sender, System.EventArgs e)
{
}
フォーカスをtextBox3からtextBox2へ移動すると、強制的にtextBox1に移すことを意図しています。
これを実行し、実際にマウスでフォーカスを移すと、
textBox1へ強制的に移動しますが、ハンドラメソッドが変な呼ばれ方をします。
textBox2_Enter
textBox2_Leave
textBox1_Enter
textBox1_Leave
textBox2_Enter
textBox2_Leave
textBox1_Enter の順
なぜこんなことが起こるのでしょうか、
強制的に移すことを実現する確かな方法をご存知の方は教えてください。
|