0

レーダー妨害装置を制御する大規模なc#プロジェクトが進行中です。プロジェクトがロードされると、3つのスレッドが作成され、それぞれが「メインフォーム」と呼ばれるスレッドを開きます(メインフォームの1つを閉じると、プログラムがシャットダウンされます。

私が現在直面している問題は、他のすべてのフォームが保存され、適切に閉じられていることを確認する前に、メインフォームの1つを閉じることができることです。このタスクを実行するための最良の方法は何ですか?私の現在の推奨事項は、開いているすべてのフォームを追跡するグローバルスタックを保持し、メインフォームを閉じる前に、スタック内のすべてのフォームを保存して閉じようとすることです。

4

1 に答える 1

0

機能がフォームを表示しないようにすることであるが、内部でフォームのデータにアクセスできる場合は、フォームをすぐに閉じる代わりに hide() を使用できます。

ただし、おそらく、すべてのメインフォームへの参照を含み、それらを繰り返し処理して情報を保存してから、それらを完全に削除するリストを作成する必要があります。

編集: OnFormClosing メソッドもいつでも利用できます。これは、よりイベント駆動型のアプローチです。http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onformclosing.aspx

于 2012-06-22T14:40:12.353 に答える