请问单击窗口右上角的×关闭窗口会触发什么事件?谢谢

nostamps 2003-12-04 10:18:34
我想在此时关闭之前打开的线程
请问应该在哪个事件处理?如何处理好呢?
...全文
396 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
seztty 2003-12-04
  • 打赏
  • 举报
回复
closing
rock1981 2003-12-04
  • 打赏
  • 举报
回复
那你在form的Closing事件写thr[i].Abort();

nostamps 2003-12-04
  • 打赏
  • 举报
回复
不好意思,刚才写错了,应该是:
private void button1_Click(object sender, System.EventArgs e)
{
//结束所有线程
for(int i=0;i<ThreadIdx;i++)
{
if(thr[i].IsAlive)
thr[i].Abort();
}
}
×掉窗口后,线程仍然在运行,而且设了断点发现都没有进入这个事件
nostamps 2003-12-04
  • 打赏
  • 举报
回复
private void Form1_Closing(object sender, System.EventArgs e)
{
for(int i=0;i<ThreadIdx;i++)
{
if(thr[ThreadIdx].IsAlive)
thr[ThreadIdx].Abort();
}
}
我用以上代码,×掉窗口后,线程仍然在运行,而且设了断点都没有进入这个事件???
wjhs 2003-12-04
  • 打赏
  • 举报
回复
e.Cancel = false之后当,然什么反应都没有
还要干吗?
这样你就可以掉你的线程啦。
guoyangc 2003-12-04
  • 打赏
  • 举报
回复
应该会调用上面的代码,只不过这时窗口还是会关闭的。
eyestrong 2003-12-04
  • 打赏
  • 举报
回复
在此代码段中添加Thread.Abort()方法。
see:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemThreadingThreadClassAbortTopic.htm
nostamps 2003-12-04
  • 打赏
  • 举报
回复
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(MessageBox.Show("Do you want to close your window?", "My Application",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = false;
}
}

用以上代码,×掉窗口之后什么反应都没有啊?应该怎么样呢?
polarlm 2003-12-04
  • 打赏
  • 举报
回复
form的Closing事件
angxain 2003-12-04
  • 打赏
  • 举报
回复
Closing
tangyanjun1 2003-12-04
  • 打赏
  • 举报
回复
protected override void OnClosing(CancleEventArgs ce){
for(int i=0;i<ThreadIdx;i++)
{
if(thr[i].IsAlive)
thr[i].Abort();
}
base.OnClosing(ce);
}
这样你试试。
再.Net的设计中当你按下close按钮或按alt+f4的话,Form1_Closing是不会被调用的。
所以这时你就要重载OnClosing这个事件。
nostamps 2003-12-04
  • 打赏
  • 举报
回复
不好意思,早上写得有点乱了,现在整理一下
for(int i=0;i<ThreadIdx;i++)
{
if(thr[i].IsAlive)
thr[i].Abort();
}
这段代码如果放在private void button1_Click(object sender, System.EventArgs e)
里面,单击button1,就可以实现关闭我之前打开的线程。
但是如果放在private void Form1_Closing(object sender, System.EventArgs e)里面,
×掉窗口后,线程仍然在运行,而且设了断点发现都没有进入这个事件。
而且就算我没有开任何线程,×掉窗口后也没有到这个事件处理代码里面的断点。
tthxqtt111 2003-12-04
  • 打赏
  • 举报
回复
closing事件是在窗口关闭之前进行的.
closed事件是在窗口关闭之后进行的.

看你的操作是要在什么时候运行.

110,534

社区成员

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

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

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