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

時間のかかる処理をキャンセルするダイアログを表示すると動作がおかしい

環境/言語:[Framework1.1のVS.NET2003C#]
分類:[.NET]

現在MDIフォームにて、アプリケーションを作成中なのですが、
何個かフォームがあって、その内の一つのFormに
TxtCode(TextBox):コード入力後、Enterキーで対応するデータをListDataから検索し、アクティブにする
LblFile(Lable):ファイル名
BtnFile(Button):保存用ファイルの名前をLblFileに表示
ListData(ListBox):データ出力用
のコントロールがあるのですが、このフォームでBtnFileをクリックし、ファイル名を選択し一覧表示に時間がかかるので、キャンセルできるダイアログを下記のURLを参考にしながら作成しました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/181waitdlg/waitdlg.html

このMDI子フォームだけ開いてると動作に問題ないのですが、もう一つ違うフォームを開きながら一覧表示後、TxtCodeでコードを入力しEnterキーを押すと、何故かファイル選択ダイアログが表示されてしまいます。
フォーカスがTxtCodeにあるにも関わらずBtnFileクリックイベントが発生してしまいます。
このキャンセル用ダイアログを使わないとこのような現象は起きないので、まず間違いなくこのキャンセル用ダイアログに原因があるのだとは思います。
もう一つのフォームをクリックしてアクティブにして、もう一度同じ事をすると今度は正常な動作にもどるのですが、どなたか同じような処理を記述した方で解決方法をご存知の方いらっしゃいましたらよろしくお願いします。
少し進展がありました。
どうやら呼び出しもとのフォームのEnabledをFalseにするとこの現象が起きるようです。
しかし、キャンセルできるダイアログだけ操作可能にしておきたいので、どうしても呼び出し元のフォームは操作不可能にしたいのです。
そこで少し話しは変わるかもしれませんが、Enabledプロパティ以外で、フォームを丸ごと操作不能にする方法はありませんでしょうか?

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