winform Invoke, WPF Invoke

界面假死的代码:

void btnSecondEventMode_Click(object sender, EventArgs e)
 {
         btnSecondEventMode.BackColor = Color.Coral;
         Thread.Sleep(5000);
         MessageBox.Show("hello world");
 }

WinForm 异步调用

void BtnSecondEventAsyncModel_Click(object sender, EventArgs e)
{
        Action action = () =>
        {
            Task.Run(() =>
            {
                    BtnSecondEventAsyncModel.BackColor = Color.Coral;
                        Thread.Sleep(5000);
                    MessageBox.Show("hello world");
            });
 
        };
        BeginInvoke(action);
}                

WPF 异步调用

void BtnSecondEventAsyncModel_Click(object sender, EventArgs e)
{
        Action action = () =>
        {
            Task.Run(() =>
            {
                    BtnSecondEventAsyncModel.BackColor = Color.Coral;
                        Thread.Sleep(5000);
                    MessageBox.Show("hello world");
            });
 
        };
        Dispatcher.BeginInvoke(action);
}    

  

  

 
posted @ 2015-11-19 15:09  aquarius20th  阅读(194)  评论(0编辑  收藏  举报