C#退出线程及重写Winform关闭按钮
作者:野牛程序员:2023-12-11 18:53:27C#阅读 2835
要退出线程,可以使用Thread.Abort方法。但请注意,Thread.Abort可能导致不确定的行为,并可能引发异常。更好的方法是通过设置一个标志,让线程在下一个合适的时机自行退出。
以下是一个简单的示例,展示了如何退出线程:
using System;
using System.Threading;
class Program
{
private static bool isRunning = true;
static void Main()
{
Thread myThread = new Thread(MyThreadMethod);
myThread.Start();
// 等待用户输入或其他条件
Console.WriteLine("按下任意键退出线程...");
Console.ReadKey();
// 设置标志,通知线程退出
isRunning = false;
// 等待线程退出
myThread.Join();
Console.WriteLine("程序结束");
}
static void MyThreadMethod()
{
while (isRunning)
{
// 执行线程的工作
// 在循环中检查标志,以判断是否应该退出
}
Console.WriteLine("线程退出");
}
}至于重写Winform关闭按钮,可以通过重写FormClosing事件来实现。以下是一个示例:
using System;
using System.Windows.Forms;
class MyForm : Form
{
public MyForm()
{
// 添加FormClosing事件处理程序
this.FormClosing += MyForm_FormClosing;
}
private void MyForm_FormClosing(object sender, FormClosingEventArgs e)
{
// 阻止默认的关闭操作
e.Cancel = true;
// 在这里执行你想要的关闭操作,例如退出线程等
// ...
// 最后关闭窗体
this.Close();
}
}
class Program
{
static void Main()
{
Application.Run(new MyForm());
}
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:winform15分钟开一次线程
- 下一篇:如何在C#里结束一个无限循环线程
