- PR -

キーイベントを無効化したい

1
投稿者投稿内容
さくら
ベテラン
会議室デビュー日: 2004/02/12
投稿数: 76
投稿日時: 2005-04-26 09:55
現在、VB.NET2003+Oracle10gでWindowsアプリの開発をしています。

その開発アプリの中で、画面にボタンを12個貼り付け、
それぞれキーボードのファンクションキー(F1〜F12)に
割り当てるように作っています。
(フォームのKeyDownイベントで、ファンクションキーが
 押されたら、ボタンクリック時に呼んでいる関数を
 呼ぶようにしています。)
そこで、使っているときに例外エラー等が発生したとき、
画面のボタンをすべて使用不可にし、
右上の閉じるボタンしか使えないようにしてあるのですが、
キーイベントまでは無効化することができず、
例外エラーが発生してもファンクションキーを押すと、
そのボタンに割り当てたイベント(関数)が走ってしまいます。

例外エラーが発生したときは各プログラムの中で
エラー処理をするのではなく、共通関数で一括処理をしているため、
キーイベントの無効化も同じように共通関数内で一括処理したいのですが
このようなことができますでしょうか?

もし、何かアドバイス等ありましたらぜひご教授ください。
よろしくお願い致します。
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-04-26 10:08
RemoveHandler MyBase.KeyDown, AddressOf Form_KeyDown

でイベントが動作しなくなるようになります。たぶん
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-04-26 15:59
こんにちは、じゃんぬ です。

引用:

例外エラーが発生してもファンクションキーを押すと、
そのボタンに割り当てたイベント(関数)が走ってしまいます。



ということは、PerformClick() でやっているわけではないんですね。

キーを無効にするという発想が、ちょっとわからないです。
だって、どこかでファンクション キーを拾っているんでしょう?
そこで、判断するだけの話ですよね?

例外発生時に通知していないのであれば、共通化する意味もないと思いますが、

引用:

例外エラーが発生したときは各プログラムの中で
エラー処理をするのではなく、共通関数で一括処理をしているため、



これは、拾えてるってことではないんですか?
まあ「共通関数」という表現だと微妙ですが。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)