C#中关闭窗体触发什么事件?
通过窗体右上角X按钮关闭窗体,触发什么事件?实验下来并不触发FormClosed或FormClosing事件,是怎么回事?实验代码:MicrosoftVisualStud...
通过窗体右上角X按钮关闭窗体,触发什么事件?
实验下来并不触发FormClosed或FormClosing事件,是怎么回事?
实验代码:
Microsoft Visual Studio 2005 C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace thread_close
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
Thread th;
private void Form1_Load(object sender, EventArgs e)
{
th = new Thread(new ThreadStart(thStart));
th.Start();
}
private void thStart()
{
while (true)
{
Thread.Sleep(1000);
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
th.Abort();
}
}
} 展开
实验下来并不触发FormClosed或FormClosing事件,是怎么回事?
实验代码:
Microsoft Visual Studio 2005 C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace thread_close
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
Thread th;
private void Form1_Load(object sender, EventArgs e)
{
th = new Thread(new ThreadStart(thStart));
th.Start();
}
private void thStart()
{
while (true)
{
Thread.Sleep(1000);
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
th.Abort();
}
}
} 展开
2个回答
展开全部
先触发FormClosing事件,再触发FormClosed事件。
你代码可能有问题哦~
据我所知
Thread类中的Abort方法有时候并不能立刻结束线程的
你查下MSDN里关于Abort方法的介绍吧
你可以在Form类设置一个bool类型的成员变量来标志线程是否结束
private bool flag = true;
private void thStart()
{
while (flag)
{
Thread.Sleep(1000);
}
然后在Form_Closed方法里把flag设置为false
这种方法很常用的
}
你代码可能有问题哦~
据我所知
Thread类中的Abort方法有时候并不能立刻结束线程的
你查下MSDN里关于Abort方法的介绍吧
你可以在Form类设置一个bool类型的成员变量来标志线程是否结束
private bool flag = true;
private void thStart()
{
while (flag)
{
Thread.Sleep(1000);
}
然后在Form_Closed方法里把flag设置为false
这种方法很常用的
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询