2010-11-11 47 views
0

我开发了一个用户控件类,我打算用于按钮。在我的form1类中声明它们后,我使用如下所示:inout_button1.click += new EventHandler(but1);为点击添加一个处理程序。一切都很好,直到这里。从另一个线程,我希望调用我的form1类中的一个方法,它改变了按钮的状态(Enabled = true/false,内置在用户控制类中),但是我被程序告知我无法从中访问它另一个线程。我的问题是:我可以在我的按钮类中调用,而不是为每个按钮调用?我有一些像14个按钮,所以它是一种让人不安的一个一个地做出代表。需要进行批量调用

回答

1

您不能从UI线程以外的线程修改您的UI控件,因此有一个解决办法。请看看into this MSDN article

0

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

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

+0

我只是想指出eventHandler是在我的课外宣布的,只是想给出更多的细节。 – Alex 2010-11-11 14:47:23