多线程/ C#:我可以在多个UI元素上执行BeginInvoke吗?
发布时间:2020-12-15 08:37:06 所属栏目:Java 来源:网络整理
导读:假设我在工作线程上,我想更改几个UI元素,一个按钮,一个文本框等. 我是否需要在每个元素上调用BeginInvoke?即, myButton.BeginInvoke(someMethod); myTextBox.BeginInvoke(someOtherMethod); 或者有没有办法做一个BeginInvoke然后更新多个UI元素?谢谢 解决
假设我在工作线程上,我想更改几个UI元素,一个按钮,一个文本框等.
我是否需要在每个元素上调用BeginInvoke?即, myButton.BeginInvoke(someMethod); myTextBox.BeginInvoke(someOtherMethod); 或者有没有办法做一个BeginInvoke然后更新多个UI元素?谢谢 解决方法
只需在表单上调用BeginInvoke并从那里更新所有控件.
@James Black:我的捷径是添加如下方法: private IAsyncResult BeginInvoke(MethodInvoker method) { return BeginInvoke((Delegate)method); } 然后称之为: BeginInvoke(() => { txtName.Text = name; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |