给定
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();
加载表单与主表单在同一线程上运行。您在上面看到的代码在单独的线程中运行。我怀疑我需要针对主表单再次检查调用。我需要第二次检查还是我已经安全的东西?