在WPF中Invoke和BeginInvoke和Winform中的是差不多的,只是一个用Control的一个用Dispatcher的。

而Invoke和BeginInvoke的区别嘛 就是一个是同步的一个是异步的,也就是一个需要等待一个不需要= =

就比如一个最简单区别的例子:

//这个输出123
        private void button1_Click(object sender, RoutedEventArgs e) {
            textblock.Text += "1";
            this.Dispatcher.Invoke(new InvokeDelegate(Test));
            textblock.Text += "3";
        }

        private void Test() {
            textblock.Text += "2";
        }

        private delegate void InvokeDelegate();

//这个输出132
        private void button1_Click(object sender, RoutedEventArgs e) {
            textblock.Text += "1";
            this.Dispatcher.BeginInvoke(new InvokeDelegate(Test));
            textblock.Text += "3";
        }

        private void Test() {
            textblock.Text += "2";
        }
View Code

相关文章:

  • 2021-10-15
  • 2021-09-18
  • 2022-12-23
猜你喜欢
  • 2021-11-20
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2021-05-11
相关资源
相似解决方案