c# Form1_Load下同时运行两个线程,两个线程中textBox1.Text和textBox2.Text循环播放不同的信息
时间: 2024-10-15 09:27:44 浏览: 32
在 C# 中,`Form1_Load` 下同时运行两个线程可以使用 `Thread` 类或者 `Task` 类来创建并启动。要实现在两个 TextBox 控件中轮流显示不同信息,你可以这样做:
```csharp
using System;
using System.Threading;
public partial class Form1 : Form
{
private string threadOneMessage = "信息一";
private string threadTwoMessage = "信息二";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 创建并启动第一个线程
Thread threadOne = new Thread(ThreadOneWorker);
threadOne.Start();
// 创建并启动第二个线程
Thread threadTwo = new Thread(ThreadTwoWorker);
threadTwo.Start();
}
private void ThreadOneWorker()
{
while (true) // 循环播放消息
{
textBox1.Invoke(() => textBox1.Text = threadOneMessage); // 使用Invoke确保UI线程更新
Thread.Sleep(500); // 暂停一段时间
}
}
private void ThreadTwoWorker()
{
while (true)
{
textBox2.Invoke(() => textBox2.Text = threadTwoMessage);
Thread.Sleep(500); // 暂停一段时间
}
}
}
```
这里,`ThreadOneWorker` 和 `ThreadTwoWorker` 函数分别在各自线程中负责交替更改 `textBox1` 和 `textBox2` 的文本内容。通过 `Invoke` 方法,我们确保在 UI 线程上更新控件文本,避免直接修改可能导致界面闪烁的问题。
阅读全文