・・・・・・ブログ村参加中!・・・・・・
応援お願いいたします!
・・・・・・・・・・・・・・・・・・・・
皆さん、おはようございます。
今日は、VB.NET関係です。
何か久しぶりですね、VB.NET関係汗
ということで、
今日は、VB.NETでイベントを
発生させない方法です(^^)
皆さんは、意図しないタイミングで
イベントが発生して
エラーが発生した
みたいなことないですか?
あとは、ここはイベントを
発生させたくないなぁ
みたいなときありませんか?
そんなときに役に立つ方法です(;'∀')
早速いつもの
テキトーなプログラムを作りました。
画面はまずこちらです。
そして、プログラムはこんな感じ。
コンボボックスを変更したら、
何かしらの処理をしたいという時が
あるのではないでしょうか。
今回は、とりあえず
メッセージボックスを記述しました。
そして、画面起動時(Loadイベント)に
コンボボックスの中身を追加し、
表示内容を選択するという想定です。
この状態でプログラムを起動すると、、、
メッセージが表示されます。
その後に、画面の表示。
ということで、画面起動時に
SelectedIndexChangedが発生しています。
もしLoad時には必要なければ、
無駄に処理が走りますし、
最悪エラーで落ちてしまう
なんてことも、、、(>_<)
そんなときにこのイベントの処理を
回避できる方法が、
「AddHandler」と
「RemoveHandler」です。
記述方法は以下の通り(;'∀')
※RemoveHandlerも一緒です。
AddHandler ステートメント - Visual Basic | Microsoft Docs
では、上記を参考に
「AddHandler」と「RemoveHandler」を
追加してプログラムを動かしてみます。
先ほどとは違い、
メッセージボックスは表示されずに
画面が出てきました。
そして、この状態で
コンボボックスを変更すれば、
SelectedIndexChangedイベントが
発生します(^^)
以上、
「イベント発生時の処理を一時的に
回避する方法」
でしたヽ(^o^)丿
と終わらせることもできるのですが、
ちょっと気になったので
もう少し試してみることにしました。
仮に「AddHandler」を書き忘れたら
どうなるのか、、、
コメントアウトして実行してみると
まずメッセージボックスは表示されずに
画面が表示されます。
そして、コンボボックスを変更しても
メッセージボックスは表示されません汗
これは困りますね;つД`)
ではでは、次に「RemoveHandler」を
書き忘れたらどうなるのか、、、
コメントアウトして実行してみると
まずメッセージボックスは表示されます。
そして、コンボボックスを変更すると
2回メッセージボックスが
表示されました汗
これもちょっと、、、;つД`)
ということで、
イメージ的にはイベントの処理が
足し算、引き算
されている感じでしょうか。
もし、イベント発生時の処理を
一時的に回避したい場合は
是非使ってみてください(^^)
それでは、またヽ(^o^)丿
私が使用していたテキストです。
気になる方は是非読んでみてください。
8月27日(土) 記録
■プロジェクトマネージャ試験
・テキスト読込 実施済
・YouTube解説視聴 実施済
・午前Ⅰ過去問 20問
・午後Ⅰ過去問 1問
・午後Ⅱ
午後Ⅱ問題読み込み 実施済
・英単語 実施済
・1駅1題TOEIC L&R TEST
文法特急 実施済
■簿記2級
■動画学習
実施済
IPA秋季試験まで 42日
この記事を最後まで読んで頂いて、
本当にありがとうございます!
もし、記事が参考になった、
面白かったと少しでも
感じていただくことが出来たなら、
クリックしていただけたら嬉しいです(^^)
応援お願いいたします!