winform 最新多线程使用
时间: 2023-09-04 13:10:46 浏览: 109
WinForms 多线程的使用可以通过 .NET Framework 提供的 System.Threading 命名空间中的类来实现。以下是一个简单的示例:
```csharp
using System;
using System.Threading;
using System.Windows.Forms;
namespace WinFormsMultiThread
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 创建新线程
Thread thread = new Thread(new ThreadStart(DoWork));
// 启动线程
thread.Start();
}
private void DoWork()
{
// 执行耗时操作
Thread.Sleep(5000);
// 在 UI 线程上更新 UI 控件
this.Invoke((MethodInvoker)delegate {
label1.Text = "操作已完成";
});
}
}
}
```
在上面的示例中,我们创建了一个新线程来执行耗时操作。在操作完成后,我们使用 Invoke 方法来在 UI 线程上更新 UI 控件。
需要注意的是,如果在多线程中访问 UI 控件,必须使用 Invoke 或 BeginInvoke 方法来确保在 UI 线程上执行。
阅读全文