DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ボタンにフォーカスを当ててEnterキーでClickイベントが走らない

環境/言語:[WinXP、VB.Net]
分類:[.NET]

色々な画面を経由しているので、詳しい説明は出来ませんが、
ボタンにフォーカスを当ててEnterキーでClickイベントが走らない、
TextBoxのValidatingイベントが走らない、などの現象が起きています。

VBは.Netで、OSはXpです。

ボタンにフォーカスを当ててEnterキーでClickイベントが走らない現象は、
Spaceキー押下はきくんです…。
TextBoxのValidatingイベントが走らない方はもちろん、CausesValidationをTrueにしているのですが…。

このような現象の解決策、回避策等あればご教示願います。
2004/07/11(Sun) 03:56:58 編集(投稿者)

shallowさん、こんにちは。
> 色々な画面を経由しているので、詳しい説明は出来ませんが、
> ボタンにフォーカスを当ててEnterキーでClickイベントが走らない、
> TextBoxのValidatingイベントが走らない、などの現象が起きています。
>
> VBは.Netで、OSはXpです。
>
> ボタンにフォーカスを当ててEnterキーでClickイベントが走らない現象は、
> Spaceキー押下はきくんです…。
> TextBoxのValidatingイベントが走らない方はもちろん、CausesValidationをTrueにしているのですが…。
>
> このような現象の解決策、回避策等あればご教示願います。
フォームのKeyPreviewがTrueになってませんか?
EnterキーはAcceptButtonで設定したボタンしか対応しないと思います。
Enterキーでフォーカスのあるボタンをクリックさせたければ、KeyPressイベントで拾わないとできないかも。

CancelButtonで設定したボタンはESCキーで押せます。
KeyPreviewをTrueにしてても、AcceptButtonを設定しなくても
フォーカスのあるボタンでEnterキー押下で、
そのボタンのClickイベントは発生するはずなんですが、
色々な画面を経由したらきかなくなってしまうんです。
失礼。
フォーカスが当たっていれば、Enterでクリックできますね。
KeyPreviewがTrueでもEnterでクリックできますし。

しかし、KeyPreviewがTrueでKeyPressイベントなどでキー入力を拾ったりしてなければいけると思うのですが・・・。

いろいろな画面を経由というのがいまいちよくわからないのですが。
SDIですか?

DOBON.NET | プログラミング道 | プログラミング掲示板