我可以使用.net控件父类来启用/禁用它吗?

我可以使用.net控件父类来启用/禁用它吗?,.net,winforms,multithreading,controls,parent-child,.net,Winforms,Multithreading,Controls,Parent Child,我需要为多线程程序编写一个委托,该程序将启用/禁用各种控件。对所有控件使用一个处理程序似乎是合乎逻辑的最佳选择,但我甚至不确定这在.net中是否可行,如果可行,如何实现。您可以再解释一下,为什么要使用委托?这与处理程序相同吗?当使用工作线程时,必须调用委托来更新在另一个线程中创建的UI控件。我想创建一个委托,它可以处理所有类型的UI控件,甚至可以启用禁用。我真正想要的是基类“控件”。谢谢 public void SetControlsEnabled(bool enabled) { //

我需要为多线程程序编写一个委托,该程序将启用/禁用各种控件。对所有控件使用一个处理程序似乎是合乎逻辑的最佳选择,但我甚至不确定这在.net中是否可行,如果可行,如何实现。

您可以再解释一下,为什么要使用委托?这与处理程序相同吗?当使用工作线程时,必须调用委托来更新在另一个线程中创建的UI控件。我想创建一个委托,它可以处理所有类型的UI控件,甚至可以启用禁用。我真正想要的是基类“控件”。谢谢
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) { ... }

}