Execute simple Logic without “locking” the UI

后端 未结 4 1180
一个人的身影
一个人的身影 2021-01-26 05:41

I have a dialog with some txb\'s and a button. When this button is clicked I want to change the button\'s Text, disable the button, start some Logic and then close the Window.

4条回答
  •  借酒劲吻你
    2021-01-26 06:16

    Here's what I would do:

    private async void ButtonClick() 
    {
        //here, you're on the UI Thread
        button1.Enabled = false;
    
        await Task.Run(() => DoTheWork());
    
        //you're back on the UI Thread
        button1.Enabled = true;
    }
    
    private void DoTheWork() 
    {
        //this will be executed on a different Thread
    }
    

提交回复
热议问题