进行大规模调用需要

时间:2010-11-11 14:41:12

标签: c# winforms

我开发了一个用户控件类,我打算用它来做按钮。在我的form1类中声明它们之后,我使用类似这样的东西:inout_button1.click += new EventHandler(but1);为点击添加处理程序。一切都很好,直到这里。我希望在另一个线程中调用我的form1类中的一个方法来改变按钮的状态(Enabled = true / false,在用户控件类中构建)但程序告诉我我无法访问它另一个线程。我的问题是:我可以在我的按钮类中调用而不是每个按钮吗?我有一些像14个按钮,所以一个接一个地为所有这些按钮做一个代表是不舒服的..

2 个答案:

答案 0 :(得分:1)

您无法从UI线程以外的线程修改UI控件,因此可以解决此问题。请看一下into this MSDN article

答案 1 :(得分:0)

事件处理程序与Button的状态有什么关系?

但是,是的,如果你在Button中创建一个SetState方法,你可以在这个方法中使用调用()一次,使这个方法可以安全地从另一个线程调用。