private void BarCodeToolStripMenuItem_Click(object sender, EventArgs e)
{
Thread td = new Thread(MessageShow);
td.Start();
}
public void MessageShow()
{
MessageForm msg = new MessageForm();
this.Invoke(new MethodInvoker(delegate
{
msg.MdiParent = this;
}));
msg.Show();
}
为什么子窗体 show不出来。求解答?
用msg.ShowDialog()会出现如下错误:
非顶级窗体不能显示为模式对话框。在调用 showDialog 之前应从所有父窗体中移除该窗体。
thread 线程 子窗体show
------解决方案--------------------------------------------------------
msg是线程中创建的,线程结束,线程内部创建的实例就会被销毁
------解决方案--------------------------------------------------------
try
MessageForm msg = new MessageForm();
this.Invoke(new MethodInvoker(delegate
{
msg.Show();
}));
------解决方案--------------------------------------------------------
线程结束了。那个窗体已经没了。
这么做的目的是干啥?
可以用委托来做。