Form的问题(关闭一个窗口导致所有窗口都关闭)

晓彩 2013-08-05 03:56:13
问题描述如下:
1.在Form1中打开一个Form2
2.然后Form1开始一个while(true)的死循环任务
3.在任务拦右键Form2关闭这个窗口
4.问题出现了,这个时候连带Form1也一起关闭了,闪退掉了

请问这个问题怎么解决?
...全文
91 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
晓彩 2013-08-05
  • 打赏
  • 举报
回复
引用 9 楼 hwenycocodq520 的回复:
你可以用线程啊
尽量不用多线程避免出更多BUG
智商余额不足 2013-08-05
  • 打赏
  • 举报
回复
你可以用线程啊
晓彩 2013-08-05
  • 打赏
  • 举报
回复
引用 7 楼 hwenycocodq520 的回复:
yes 要不处理不了其他windows消息
好吧原来只能用这么原始的方法啊,THANK YOU啦
智商余额不足 2013-08-05
  • 打赏
  • 举报
回复
yes 要不处理不了其他windows消息
晓彩 2013-08-05
  • 打赏
  • 举报
回复
引用 5 楼 hwenycocodq520 的回复:

while(true)
{

}

==>

while(true)
{
    Application.DoEvents();
}
while(true)是为了模拟一段需要较长时间执行的任务,所以难道要在这个任务内导出嵌入Application.DoEvents();?
智商余额不足 2013-08-05
  • 打赏
  • 举报
回复

while(true)
{

}

==>

while(true)
{
    Application.DoEvents();
}
晓彩 2013-08-05
  • 打赏
  • 举报
回复
引用 3 楼 hwenycocodq520 的回复:
code please
【Form1】代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } //第一步点击这里,创建一个Form2 private void button3_Click(object sender, EventArgs e) { new Form2().Show(); } //第二步点击这里,执行一个while(true)死循环 private void button2_Click_1(object sender, EventArgs e) { while(true) { } } //第三步,点击WINDOWS任务栏里 Form2窗口右键,然后选择关闭,此时2个窗口都关闭了 } 【Form2】代码 public partial class Form2 : Form { public Form2() { InitializeComponent(); } }
智商余额不足 2013-08-05
  • 打赏
  • 举报
回复
code please
晓彩 2013-08-05
  • 打赏
  • 举报
回复
引用 1 楼 wddw1986 的回复:
你的程序出异常崩掉了
恩 问题怎么解决这个问题呀
cheng2005 2013-08-05
  • 打赏
  • 举报
回复
你的程序出异常崩掉了

110,566

社区成员

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

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

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