現在、ここでフォームに問題があります。
いくつかのプロセスが進行中のときはいつでも、ポップアップする進行状況ダイアログがありますが、進行状況ダイアログの後ろにあるウィンドウ/フォームの「X」ボタンをクリックすると、それが閉じられ、進行中の操作がキャンセルされます。
どうすればそれを防ぐことができますか?プログレス バーの背後にあるフォーム全体を無効にする必要がありますか? どうすればそれを行うことができますか?
Form.ShowDialog()
の代わりに を使用してフォームを開始しForm.Show()
ます。これにより、表示しているフォームが閉じるまで、バックグラウンド フォーム (実際にはプロセス内の他のフォーム) が無効になります。追加の利点として、結果としてアクションを実行する必要がある場合に備えて、フォームに値 (キャンセル、OK、はい、いいえなど) を返すことができます。
実際にはあなたが期待している答えではありませんが、Form.FormClosing
イベントを処理することができます。e.Cancel = True
これにより [閉じる] ボタンが無効になることはありませんが、この場合、フォームは開いたままになります。
詳細については、http: //msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosing.aspxを参照してください。
プログレスバーをモーダルダイアログとして表示する必要があります。この回答が、winformのモデルウィンドウのようにjavasriptで機能するかどうかを確認してください。
HTH。