我的程序中有一个按钮,应该在while循环结束后点击,是什么代码点击按钮?
答案 0 :(得分:6)
要以编程方式单击按钮,只需调用Click
方法:
button.Click();
请注意,这不会导致UI更新,就像按下按钮一样 - 它只会导致正在运行click事件的事件处理程序。
在你的问题中,你提到你正在运行一个可能需要一些时间的while循环。如果你以天真的方式执行此操作 - 在主应用程序线程中运行它 - 它将导致UI在循环运行时阻塞。要解决此问题,您需要在另一个线程中运行while循环,例如使用BackgroundWorker
。但是当你的循环结束时你必须小心确保在主线程上回调click事件。执行此操作的一般方法是使用Invoke,但在具有BackgroundWorker的特定情况下,您可以在OnRunWorkerCompleted
事件处理程序中完成循环后运行代码,然后您不需要自己调用Invoke BackgroundWorker会为您解决此问题。