c#多线程以及与主线程传值。
程序员文章站
2022-06-10 20:27:27
...
namespace ThreadDelegate
{
public partial class Form1 : Form
{
private string mesg = "";
public Form1()
{
InitializeComponent();
}
// 按钮1执行子线程(输出1-100),当达到15时弹出消息,并将该消息记录到mesg
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(outNum));
t.Start();
}
// 子线程任务
private void outNum() {
for (int i = 0; i < 6; i++) {
Thread.Sleep(1000);
if (i == 3)
{
tip("Threre hava an import message!");
}
else {
Debug.WriteLine(i);
}
}
}
// 消息弹出及重要信息记录
private delegate void tipDelegate(string str);
private void tip(string str) {
MessageBox.Show(str);
mesg = str;
}
// 获取当前重要消息
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(mesg);
}
}
}
下一篇: [MFC]CString对象的提高
推荐阅读