前提・実現したいこと
DataGridViewにてセルの編集を行った後、ボタンにフォーカスを移動させると、CellValidating(CellValidated)が再度コールされてしまいます。
該当のソースコード
VB.NET
1 Private Sub DataGridView1_CellValidating(sender As Object, e As DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating 2 Console.WriteLine("DataGridView1_CellValidating") 3 End Sub 4 5 Private Sub DataGridView1_CellValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValidated 6 Console.WriteLine("DataGridView1_CellValidated") 7 Button1.Select() 8 End Sub 9 10 Private Sub Button1_Enter(sender As Object, e As EventArgs) Handles Button1.Enter 11 Console.WriteLine("Button1_Enter") 12 End Sub 13
試したこと
上記のようなテスト用のソースを作成し、DataGridView1のセルを編集しTABキーでフォーカスを移動させた場合に以下のようなコンソール出力がされます。
DataGridView1_CellValidating
DataGridView1_CellValidated
DataGridView1_CellValidating
DataGridView1_CellValidated
Button1_Enter
CellValidatedでのButton1.Select()を行わないと二度呼ばれることは無いようですが、セルの編集結果にてフォーカスを振り分けたい時などはどのような処理を行えばイベントが二度呼ばれずにすむのでしょうか?
CellValidatingやCellValidated以外のイベントで適正なイベントがあればそれでも構いません。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/22 01:39