当我尝试在退出应用程序时更新按钮文本时,我遇到了麻烦。
ApplicationShouldTerminate
方法是这样的:
public override NSApplicationTerminateReply ApplicationShouldTerminate (NSApplication sender)
{
this.mainWindowController.EndApp();
return NSApplicationTerminateReply.Now;
}
EndApp()
方法是这样的:
public void EndApp ()
{
this.testButton.Title="Closing App";
//long time process
for (int i = 0; i < 1000000; i++) {
int a=1;
}
}
如何让应用程序刷新UI控件?
答案 0 :(得分:1)
您可以在标题更改后或for循环中添加Application.DoEvents()
,具体取决于您是否还有其他操作。这会强制应用程序处理队列中的事件,在这种情况下,这将是标题的文本更改。
public void EndApp ()
{
this.testButton.Title="Closing App";
Application.DoEvents();
//long time process
for (int i = 0; i < 1000000; i++) {
int a=1;
//or if you're processing stuff
Application.DoEvents();
}
}