C#退出线程及重写Winform关闭按钮
作者:野牛程序员:2023-12-11 18:53:27C#阅读 2728
要退出线程,可以使用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#里结束一个无限循环线程