关于线程创建窗体的问题

flysnoopy1984 2005-12-07 04:19:32
private void CreateMaterial()
{
BI_MaterialForm bmf=new BI_MaterialForm();
bmf.Show();

}

private void MI_BI_Material_Click(object sender, System.EventArgs e)
{
m_tMaterial=new Thread(new ThreadStart(CreateMaterial));
m_tMaterial.Start();
}
这是我通过点击事件用线程创建窗体的代码,但执行时,窗体被创建出后,显示了一下,就消失了~~!请问这是为什么?

...全文
136 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬运工木木 2005-12-07
  • 打赏
  • 举报
回复
你提的这个要求倒蛮有趣,SHOW了后,肯定会继续执行后面的代码了,如果在后面挂起,会不会引起SHOW的窗口也无效了呢?但不挂起用循环来消耗,可能太那个了吧?不知道为什么不能SHOWDIALOG,或许在这点上进行相应调整,所需的代价会比较小呢?(据我印象,线程的SHOWDIALOG好像不会引起其他窗体无法响应的)
JasonHeung 2005-12-07
  • 打赏
  • 举报
回复



BI_MaterialForm bmf = null;

private void CreateMaterial()
{
bmf=new BI_MaterialForm();
bmf.Show();

}
flysnoopy1984 2005-12-07
  • 打赏
  • 举报
回复
时间的接受和无模有模没有关系的。。!只是启用的消息循环机制不同!
diandian82 2005-12-07
  • 打赏
  • 举报
回复
线程建的无模式窗体能接受用户的事件么?
flysnoopy1984 2005-12-07
  • 打赏
  • 举报
回复
为什么啊。。。?
zhy0101 2005-12-07
  • 打赏
  • 举报
回复
不要在别的线程建窗体
flysnoopy1984 2005-12-07
  • 打赏
  • 举报
回复
顶顶顶~~~~~~~~~~~~~~~~
flysnoopy1984 2005-12-07
  • 打赏
  • 举报
回复
那怎么办啊。。。我不能用Showdialog~~~~!一定要无模式对话框~~~!
flysnoopy1984 2005-12-07
  • 打赏
  • 举报
回复
啊~~~!结束了?怎么会结束的?
搬运工木木 2005-12-07
  • 打赏
  • 举报
回复
因为你线程结束了
或者你改成 bmf.Showdialog()

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧