C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: MessageBoxのリターンキーイベントについて


(過去ログ 141 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■82561 / inTopicNo.1)  MessageBoxのリターンキーイベントについて
  
□投稿者/ C#ビギナー (2回)-(2017/01/15(Sun) 09:56:55)

分類:[C#] 

OSがWindows CEでの開発を実施しております。

キーボードの【リターンキー】のKeyupイベントとFormのClickイベントを連動させております。
FormのClickイベントでForm内のTextboxの入力値チェックを実施しており、
エラーだった場合はMessageBoxでエラーを出すようにしています。

上記状態でMessageBoxのOKボタンをデフォルトボタンと設定し、
MessageBoxが表示されている状態でキーボードのリターンキーを押下すると、
Form側に設定したKeyupイベント側も動いてしまい、
MessageBoxが閉じては開くが繰り返される状態になってしまいます。

Errorproviderでエラーの表記方法を変える事も検討したのですが、
Windows CE対応の.Net Compact FrameworkではErrorproviderが非対応のため、
上記に記載した方法で対応する必要が生じております。

もし代替案や、現在の方法での対応がありましたら。
助言を頂けると幸いです。

よろしくお願いします。
引用返信 編集キー/
■82564 / inTopicNo.2)  Re[1]: MessageBoxのリターンキーイベントについて
□投稿者/ Azulean (770回)-(2017/01/15(Sun) 13:25:23)
No82561 (C#ビギナー さん) に返信
> 上記状態でMessageBoxのOKボタンをデフォルトボタンと設定し、
> MessageBoxが表示されている状態でキーボードのリターンキーを押下すると、
> Form側に設定したKeyupイベント側も動いてしまい、
> MessageBoxが閉じては開くが繰り返される状態になってしまいます。

KeyUp をやめて KeyDown にすると回避できますか?
(CE に限らず、普通の Windows でも閉じるダイアログが Down だけを受け取って、Up を別のウィンドウが受け取るというケースはあるようなので、Up よりは Down の方が手堅いのかなという印象から)

引用返信 編集キー/
■82621 / inTopicNo.3)  Re[2]: MessageBoxのリターンキーイベントについて
□投稿者/ C#ビギナー (4回)-(2017/01/20(Fri) 18:06:40)
No82564 (Azulean さん) に返信

Azulean さん回答ありがとうございます。
> KeyUp をやめて KeyDown にすると回避できますか?
> (CE に限らず、普通の Windows でも閉じるダイアログが Down だけを受け取って、Up を別のウィンドウが受け取るというケースはあるようなので、Up よりは Down の方が手堅いのかなという印象から)
>

KeyUpでテストしてみましたが、うまくいきませんでした。
今回はモバイル端末だったので、画面上のボタンとリターンキーを別に割り当てる対応を実施し、
本件を回避するようにしまいた。

ご支援ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -