C#中如何在线程中更新十几个控件标签?
我知道能用委托,但是一次只能一个 如何在C# 在线程中更新个十几个控件标签? 你怎么调用委托的啊??一直这样用啊
Task tk1 = new Task(() =>
{
this.Invoke((MethodInvoker)delegate
{
TextBox1.Text = "1";
TextBox2.Text = "1";
Button1.Text = "Open";
});
});
tk1.Start();
你怎么调用委托的啊???
EventHandler UpdateUI = delegate
{
TextBox1.Text = "1";
TextBox2.Text = "1";
Button1.Text = "Open";
};
try { Invoke(UpdateUI); } catch { }; dreampet 发表于 2019-1-18 10:54
你怎么调用委托的啊???
你这个方法你测试了可以用吗? 墨非 发表于 2019-1-18 10:40
你怎么调用委托的啊??
一直这样用啊
你这么用,可以更新几十个控件没问题吧? 楼上没问题,想多了,怎么改都是要用Cpu的 Invoke((Action)(()=>
{
label.Text = "";....
})); 跨线程,需要切换到主线程更新控件 zyqcome 发表于 2019-1-19 05:35
跨线程,需要切换到主线程更新控件
方法我知道。。。只是问如何跨线程同时更新几十个标签控件? fbwcpu 发表于 2019-1-19 09:02
方法我知道。。。只是问如何跨线程同时更新几十个标签控件?
invoke之后你想更新几个就更新几个啊 难道不是在invoke里面想更新几个都可以吗? i用nvoke,随意更新 invoke之后你想更新几个就更新几个啊+1 (LZ不明白就直接搞的?) fbwcpu 发表于 2019-1-19 09:02
方法我知道。。。只是问如何跨线程同时更新几十个标签控件?
用个链表把标签引用存起来,更新的时候遍历即可,注意最好不要用fearch
wpf 用数据绑定,多个标签控件,绑定到动态链表上,刷新链表即可
还可以其他实现
页:
[1]