假设我在一个工作线程上,我想更改几个 UI 元素、一个按钮、一个文本框等。
我需要在每个元素上调用 BeginInvoke 吗? IE。,
myButton.BeginInvoke(someMethod);
myTextBox.BeginInvoke(someOtherMethod);
或者有没有办法做一个 BeginInvoke 然后更新多个 UI 元素?谢谢
最佳答案
只需在表单上调用 BeginInvoke 并从那里更新所有控件。
@James Black:我的捷径是添加这样的方法:
private IAsyncResult BeginInvoke(MethodInvoker method) {
return BeginInvoke((Delegate)method);
}
然后像这样调用它:
BeginInvoke(() => {
txtName.Text = name;
});
关于c# - 多线程/C# : Can I do a BeginInvoke on multiple UI elements?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4485041/