与えられた
Action closeLoadingAction = new Action(() =>
{
loadingForm.Close();
#region - may need to put into second Action
panelOnMainForm.Controls.AddRange(physdocControls.ToList<Control>().ToArray());
if (Handle != IntPtr.Zero)
User32DLL.SetForegroundWindow(this.Handle);//Handle is a property of the mainForm.
#endregion
});
必要な呼び出しをチェックしても、ハンドルが作成されていない例外が発生することがあります。
if(loadingForm.InvokeRequired)
loadingForm.Invoke(closeLoadingAction);
else
closeLoadingAction();
ロードフォームは、メインフォームと同じスレッドで実行されます。上記のコードは別のスレッドで実行されます。メインフォームに対して呼び出すための別のチェックが必要だと思います。2回目のチェックが必要ですか、それともすでに安全ですか?