记录备用
private delegate DialogResult _SafeShowDialog(IWin32Window parent);
public DialogResult SafeShowDialog(IWin32Window parent)
{
if (parent != null)
{
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
}
else
{
this.StartPosition = FormStartPosition.CenterScreen;
}
Control parentControl = parent as Control;
if (parent != null && parentControl != null && parentControl.InvokeRequired)
{
_SafeShowDialog call = delegate(IWin32Window p)
{
return this.ShowDialog(p);
};
return (DialogResult)parentControl.Invoke(call, new object[] { parent });
}
else
{
return this.ShowDialog(parent);
}
}