- - PR -
VB.NET Enabled=Falseコントロール選択時のショートカット
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-05-11 16:24
お世話になります
コマンドボタンのテキストに「実行(&R)」と記述した場合、 「Alt + R」で対象ボタンのClickイベントを実行できますが、 しかしEnabled=Falseのボタンやテキストボックスそしてラベルをマウスクリックした状態で「R」キーを押した場合でも対象ボタンのClickイベントが実行されます これを回避する方法はございますでしょうか | ||||||||
|
投稿日時: 2005-05-11 17:29
こんにちは、じゃんぬ です。
意味が微妙にワカリマセン...。 発生させる手順を書いてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-05-11 17:47
じゃんぬさん、レスありがとうございます
VB.Netのフォーム上に以下のコントロールがあるとします コマンドボタン1 コマンドボタン2 ラベル1 コマンドボタン1のテキストは「実行(&R)」 コマンドボタン2のテキストは「終了(&Q)」 ラベルのテキストは「テスト」 この画面を実行して、「Altキー」と「R」を押すとコマンドボタン1が 「Altキー」と「Q」を押すとコマンドボタン2を押したことになると思います 「R」と「Q」だけを押しても、各コマンドボタンの処理は実行されません しかし、ラベル1をマウスクリックした状態で「R」や「Q」を押すと 各コマンドボタンの処理が動作します また、コマンドボタン2のEnabledをFalseに設定した状態で コマンドボタン2をマウスでクリックした場合でも「R」を押すとコマンドボタン1の処理が動作します これら現象を回避する方法があれば教えていただきたいのです お手数ですが、よろしくお願いいたします | ||||||||
|
投稿日時: 2005-05-11 18:40
こんにちは、じゃんぬ です。
丁寧な説明ありがとうございます。
ラベル 1 をマウスクリックした状態でなくともなると思いますし、それは仕様だと思います。 CheckBox にフォーカスを当てて試してみてください。 同じことが起きるハズです。 明示的に、[Alt] + [Key] を押下しないと起きないのは、 TextBox などの "入力ができるコントロール" にフォーカスが移っている時だけです。
これも、上記と同じことです。 ボタン 2 であればいざしらず、ボタン 1 は有効なのですよね? 先の繰り返しですが、 明示的に、[Alt] + [Key] を押下しないと起きないのは、 TextBox などの "入力ができるコントロール" にフォーカスが移っている時だけです。 それ以外の場合では、[Alt] 抜きで動作するのは仕様です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-05-11 20:47
じゃんぬさん、ご回答ありがとうございます
仕様ですか・・・ VBの開発に携わって5年ちょい 今の今まで知りませんでした なんか、恥ずかしい。 ありがとうございました! |
1