2

当我尝试更新按钮的文本以退出应用程序时,我遇到了麻烦。

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 控件?

4

1 回答 1

1

您可以Application.DoEvents()在标题更改后或在 for 循环中添加一个,具体取决于您是否正在进行其他操作。这会强制应用程序处理队列中的事件,在这种情况下,这将是您的标题的文本更改。

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();
        }
    }
于 2013-01-25T20:19:17.350 回答