zoukankan      html  css  js  c++  java
  • WPF 学习笔记-跨线程引用控件

    注:以下内容只是便于查找记在这里,并非本人原创。

    原文链接如下:http://www.cnblogs.com/youring2/archive/2011/05/27/2059718.html

    感谢作者分享

     

    在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可。

    在WPF中要麻烦一下,同样的不允许跨线程访问,因为没有权限,访问了会抛异常;

    没有CheckForIllegalCrossThreadCalls 属性,怎么办?

    在WPF中的窗口控件都有一个Dispatcher属性,允许访问控件的线程;既然不允许直接访问,就告诉控件我们要干什么就好了。

    方法如下:

    privatedelegatevoid outputDelegate(string msg);

    privatevoid output(string msg)
    {
    this.txtMessage.Dispatcher.Invoke(new outputDelegate(outputAction), msg);
    }

    privatevoid outputAction(string msg)
    {
    this.txtMessage.AppendText(msg);
    this.txtMessage.AppendText("\n");
    }

    这里是要 输出一段字符串在TextBox中,只需要调用output方法就可以了。其它的处理同上!

  • 相关阅读:
    java学习day28-jQuery(常用)
    在博客园上添加bilibili视频
    参数传递 实参
    linux 下office软件推荐
    桥后总结 二
    go基础笔记-包
    Linux:Day24(上)
    Linux:Day23(下) vsftpd
    Linux:Day23(上) MariaDB SQL语句
    Linux:Day22(下) php及mysql使用基础
  • 原文地址:https://www.cnblogs.com/hayywcy/p/2287102.html
Copyright © 2011-2022 走看看