投稿

ラベル(ValueChanged)が付いた投稿を表示しています

[VB.NET]テキスト等チェンジイベントを有効化・無効化する

テキスト等のチェンジイベントは便利ですが、初期化(文字をクリア)の時などにも反応してしまいます。そういう時にイベントを動かさないようにするための方法です。 今回はDGV(データグリッドビュー)内のセル(1マス)バリューチェンジイベントで行います。 例     'DGV内セルテキストチェンジイベント     Private Sub DGV_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) '↑本来は末尾に、Handles DGV.CellValueChangedと記述されているが、削除する         'ここにチェンジイベントが起きた時の動きを記述     End Sub     'イベント有効化     AddHandler DGV.CellValueChanged, AddressOf DGV_CellValueChanged     'イベント無効化     RemoveHandler DGV.CellValueChanged, AddressOf DGV_CellValueChanged 説明 AddHandler イベント本体 , AddressOf イベント名 RemoveHandler  〃   ,     〃 イベントに、イベント本体?を関連付け、あるいは関連を外します。 コメント 普通、記述時にイベントをデザイナーのダブルクリックなどで呼び出しますが、自動で Handles DGV.CellValueChanged のように、イベント末尾にイベント本体が記述されています。それを削除する事で何にも反応しないコードになります。その後、AddHandlerで関連付けする、外すことで有効化、無効化できます。テキスト等の切り替わりを監視するタイミングを自由に変えられるので、知っていると便利です。