特定のアクションを実行する必要があるクラスがあります。入力データに基づいて、いくつかのダイアログが表示される場合があります。これらのダイアログは、正しく中央に配置されるように、親ウィンドウのハンドルで呼び出す必要があります。
private IntPtr _parentWindow;
...
System.Windows.Forms.MessageBox.Show(System.Windows.Forms.Control.FromHandle(_parentWindow), "message");
親フォームが最終的に閉じられた後、クラスのインスタンスはまだ存在し、_parentWindow には値が割り当てられたままです。
これは安全ですか?それとも、_parentWindow にハンドルが設定されているため、GC はフォームを完全に破棄しませんか?