按钮点击事件
答
以编程方式点击一个按钮,只需调用Click
方法:
button.Click();
注意,这不会导致UI更新仿佛按钮被按下了 - 它只是导致了事件处理程序单击事件正在运行。
在你的问题中,你提到你正在运行一个while循环,这大概需要一些时间。如果你是以天真的方式做到这一点 - 在主应用程序线程中运行它 - 它会在循环运行时导致UI被阻塞。要解决此问题,需要在另一个线程中运行while循环,例如使用BackgroundWorker
。但是当你的循环结束时,你必须小心确保在主线程上回调点击事件。执行此操作的一般方法是使用Invoke,但在具有BackgroundWorker的特定情况下,您可以在OnRunWorkerCompleted
事件处理程序中的循环结束后运行代码,那么您不需要调用BackgroundWorker自己的Invoke这是给你的。
+0
用于调出“BackgroundWorker”的+1 – 2010-06-28 22:11:05
为什么把它作为一个按钮,如果用户不打算做任何事情呢? – ceejayoz 2010-06-28 21:59:07
一个winforms按钮或其他类型的按钮? – 2010-06-28 21:59:19
我知道它看起来并不聪明,但它的服务器将通过单击按钮开始收听,并且应该不断地进行,但不能将其放在一个循环中。因为会崩溃,所以这是我可以带来的最好主意,在每次接收并重新开始后关闭连接。 – Mohammad 2010-06-28 22:06:28