0
我需要为可以启用/禁用各种控件的多线程程序编写委托。对所有控件使用一个处理程序将是最佳选择似乎是合乎逻辑的,但我甚至不确定在.net中这是可能的,如果是的话,如何实现。我可以使用.net控件父类来启用/禁用它吗?
我需要为可以启用/禁用各种控件的多线程程序编写委托。对所有控件使用一个处理程序将是最佳选择似乎是合乎逻辑的,但我甚至不确定在.net中这是可能的,如果是的话,如何实现。我可以使用.net控件父类来启用/禁用它吗?
public void SetControlsEnabled(bool enabled)
{
// Make sure we're in the correct thread
if (InvokeRequired)
{
// If not, run the method on the UI thread
Invoke(new MethodInvoker(() => SetControlsEnabled(enabled)));
return;
}
// Put all control code here, e.g:
// control1.Enabled = enabled;
// control2.Enabled = enabled;
// Alternatively, do a foreach(Control c in Controls) { ... }
}
不错。我真正想要的是基础类“控制”。谢谢。 – Gio 2009-10-22 05:15:22
你可以解释一下,为什么代表?这与处理程序是一样的吗? – 2009-10-18 17:06:21
使用工作者线程时,必须调用委托来更新在另一个线程中创建的UI控件。我想创建一个委托,可以处理所有类型的UI控件,只要启用禁用即可。 – Gio 2009-10-18 17:13:39
在这种情况下,刺客93的答案似乎是现货。 – 2009-10-18 20:34:26