1

現在、ここでフォームに問題があります。

いくつかのプロセスが進行中のときはいつでも、ポップアップする進行状況ダイアログがありますが、進行状況ダイアログの後ろにあるウィンドウ/フォームの「X」ボタンをクリックすると、それが閉じられ、進行中の操作がキャンセルされます。

どうすればそれを防ぐことができますか?プログレス バーの背後にあるフォーム全体を無効にする必要がありますか? どうすればそれを行うことができますか?

psこれこれこれを試しましたが、どれも私のアプリケーションでは機能しないようです。T__T

4

3 に答える 3

3

Form.ShowDialog()の代わりに を使用してフォームを開始しForm.Show()ます。これにより、表示しているフォームが閉じるまで、バックグラウンド フォーム (実際にはプロセス内の他のフォーム) が無効になります。追加の利点として、結果としてアクションを実行する必要がある場合に備えて、フォームに値 (キャンセル、OK、はい、いいえなど) を返すことができます。

于 2012-06-28T03:39:48.550 に答える
1

実際にはあなたが期待している答えではありませんが、Form.FormClosingイベントを処理することができます。e.Cancel = True

これにより [閉じる] ボタンが無効になることはありませんが、この場合、フォームは開いたままになります。

詳細については、http: //msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosing.aspxを参照してください。

于 2012-06-28T03:37:37.443 に答える
0

プログレスバーをモーダルダイアログとして表示する必要があります。この回答が、winformのモデルウィンドウのようにjavasriptで機能するかどうかを確認してください。

HTH。

于 2012-06-28T03:45:26.657 に答える