私は2つの.net 2つのwinformを持っていますが、それぞれに独自のプロジェクトがあります。プロジェクト1はメインフォームで、プロジェクト2は子フォームです。メインフォームがもはやアクティブでなくなった場合、子フォームを自己に近づける方法を知りたいと思います。メインフォームが閉じている場合、winform auto close
終了時に子フォームを強制終了しません。タスクマネージャによってメインフォームが強制終了される可能性があるためです。
私は2つの.net 2つのwinformを持っていますが、それぞれに独自のプロジェクトがあります。プロジェクト1はメインフォームで、プロジェクト2は子フォームです。メインフォームがもはやアクティブでなくなった場合、子フォームを自己に近づける方法を知りたいと思います。メインフォームが閉じている場合、winform auto close
終了時に子フォームを強制終了しません。タスクマネージャによってメインフォームが強制終了される可能性があるためです。
私が正しく理解している場合、「子フォーム」と呼ばれるものは実際には別のWinFormsアプリが別のプロセスで実行されていますか?
さらに、main-appが強制終了された場合に、元の動作が回復するようにするために、「メインフォームがタスクマネージャによって削除される可能性があります」というコメントから取ります。
「メインアプリ」のProcess.Exited
イベントを聞くには「子アプリ」を取得し、発生した場合は終了してください。
私はそれのようなものになります想像:はい、それは正しいです
public Form1()
{
InitializeComponent();
// You need to figure out how best to do this part.
// Also, what to do if the main-app isn't already running.
var mainAppProcess = Process.GetProcessesByName("MainApp").First();
mainAppProcess.EnableRaisingEvents = true;
// Close the form when the other process exits.
mainAppProcess.Exited +=
delegate { BeginInvoke(new Action(Close)); };
}
子フォームを閉じることができるメインフォームのOnClosingイベントを処理する必要があります。メインフォームには、子フォームのメンバー変数が必要です。
を –