c# 子线程打开子窗体

下边是在子线程打开子窗口,结果跑到else 里边了跨线程操作窗体控件InvokeRequired失效,无法用于打开子窗体,addonetwo.InvokeRequired,访问不了呢?

大神知道帮忙回答一下?

//if (addonetwo.InvokeRequired)
//{
// addonetwo.Invoke(new MethodInvoker(delegate
// {
// addonetwo.Owner = this;
// addonetwo.Show();
// }));
//}
//else
//{
// addonetwo.Owner = this;
// addonetwo.Show();
//}

查了下资料通过一下方式在子线程中打开子窗体

MethodInvoker MethInvo = new MethodInvoker(ShowForm2);
BeginInvoke(MethInvo);

public void ShowForm2()
{
addonetwo = new AddOneTwo();
addonetwo.Show();
}

完美解决。记下来。

原文地址:https://www.cnblogs.com/zuochanzi/p/5755676.html