モーダルダイアログのキープレスイベントのフィルタリングを無効にする方法

StackOverflow https://stackoverflow.com/questions/8357427

  •  27-10-2019
  •  | 
  •  

質問

私は奇妙な問題に遭遇しており、次の根本原因に頼らなければならないようです。環境C#(.NET 2.0):

私のコードはいくつかのベンダーのフレームワークを使用しており、一度にモーダルダイアログを開きます。フレームワークは、アプリケーションの「Enter」キープレス(おそらくImessageFilterを実装することで)でフィルタリングしているようです。結果として、「OK」ボタンを押してダイアログを閉じると、奇妙な動作が発生します。「OK」のマウスクリックを介して閉じることは正常に動作します。残念ながら、フレームワークのコードを変更することはオプションではありません。だから、私のダイアログに「入力」(おそらく「ESC」)キープレスをフレームワークに通知することを無効にしたいと思います。誰かがこれがどのようにできるか知っていますか?

編集:

問題を「解決」しました。以下の受け入れられた回答を参照してください。

役に立ちましたか?

解決

問題を「解決」しました。将来の参照のためのソリューションは次のとおりです。フォーム(モーダルダイアログで作成された)の設定formborderStyleプロパティにformborderStyle.fixeddialogが問題を解決しました。はい、これは貨物cultプログラミングの典型的なケースですが、徹底的にテストした後、修正は確実に機能します。

他のヒント

Enterキーにキーを押しているJavaScriptファイルを作成します。モーダルでOKイベントを実行してもらいます。 JavaScriptがApplicaitonの他のJavaScriptよりも重要であることを確認してください。最初に発射する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top