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ループにafterを追加できます。これにより、アプリケーションはキュー内のイベントを処理するように強制されます。この場合は、タイトルのテキストが変更されます。

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 に答える