欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C# 多线程操作界面主线程示例

程序员文章站 2022-06-10 21:01:07
...

#region ====== invoke ======
//定义一个委托用于跨线程访问方法
delegate void changeLbl(string str, bool bIsAdd);
//访问主线程
private void ChangeLbl(string str,bool bIsAdd)
{
////是否必须调用 Invoke 方法
//if (this.InvokeRequired)
//{
//invoke调用主线程
this.Invoke(new changeLbl(ChangeText), str, bIsAdd);
//}
//else
//{
//设置主线程[界面]的值
// label1.Text = str;
//}
}
//设置主线程[界面]的值
private void ChangeText(string str, bool bIsAdd)
{
if (bIsAdd)
{
lsbUserList.Items.Add(str);
}
else
{
lsbUserList.Items.Remove(str);
}
// string strTemp = str + "is connected!";
//lsbUserList.Items.Add(str);
//this.lsbUserList.Text = str;
//this.lsbUserList.Refresh();
}
#endregion ====== invoke ======