下边是在子线程打开子窗口,结果跑到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();
}
完美解决。记下来。