首页 > 其他分享 >WPF中窗口控件的跨线程调用

WPF中窗口控件的跨线程调用

时间:2023-08-25 13:57:44浏览次数:47  
标签:控件 private txtResult 线程 msg WPF

在多线程里面,UI是不能直接跨线程使用的。

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

在WPF中要设置Dispatcher属性。msg为要输出的内容

        private delegate void outputDelegate(string msg);

        private void output(string msg)
        {
            this.txtResult.Dispatcher.Invoke(new outputDelegate(outputAction), msg);
        }

        private void outputAction(string msg)
        {
            this.txtResult.AppendText(msg);
            this.txtResult.AppendText(" \n ");
        }

 

标签:控件,private,txtResult,线程,msg,WPF
From: https://www.cnblogs.com/lin-07/p/17656724.html

相关文章

  • WPF-利用装饰器实现空间的自由拖动
    在项目中经常会遇到类似如下要求的需求,创建允许自由拖动的控件,这样的需求可以使用WPF的装饰器Adorner来实现。 一、什么是装饰器?装饰器是一种特殊类型的FrameworkElement,装饰器始终呈现在被装饰元素的顶部,用于向用户提供可视化提示。装饰器可以在不改变原有控件结构的基......
  • java线程池
    Executors创建线程的4种方法//1.newSingleThreadExecutor创建“单线程化线程池”//特点://单线程化的线程池中的任务是按照提交的次序顺序执行的。//只有一个线程的线程池。//池中的唯一线程的存活时间是无限的。//......
  • 线程优先级
    线程优先级Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从1~10.Thread.MIN_PRIORITY=1;Thread.MAX_PRIORITY=10;Thread.NORM_PRIORITY=5;使用以下方式改变或......
  • 并发和并行,线程和进程
     ......
  • DevExpress WPF知识点
    1、表格右键菜单定位到行privatevoidTableView_ContextMenuOpening(objectsender,ContextMenuEventArgse){vartableView=(senderasTableView);varhitInfo=tableView.CalcHitInfo(Mouse.GetPosition(tableView));if(!hitInfo.InRow||tableVie......
  • WPF PasswordBox控件的使用
    在做登陆框的时候使用到PasswordBox,PasswordBox并不能像TextBox一样通过Binding就可以实现MVVM,需要用到依赖属性。 LoginView文件的代码:<StackPanelGrid.Row="0"Orientation="Horizontal"Margin="5"><TextBlockText="Username:"Width=&qu......
  • 遍历Tree控件中的节点
    classSapGuiTree:classTreeType(enum.Enum):SIMPLE=0LIST=1COLUMN=2@classmethoddefshow(cls,tree,node,indention):print(indention,node,[tree.GetItemText(node,col......
  • 上位机_C#多线程的取消、继续、停止
    publicForm1(){InitializeComponent();Task.Run(async()=>{for(inti=0;i<1000;i++){if(cancellationToken.IsCancellationReq......
  • 线程状态
    线程状态1.总状态  2.线程方法:setPriority(intnewPriority):更改线程优先级staticvoidsleep(longmillis):在指定的毫秒数内让当前正在执行的线程休眠voidjoin():等待该线程终止staticvoidyield():暂停当前正在执行的线程对象,并执行其他线程voidinter......
  • 多线程|加锁操作
    classCounter{publicintcount=0;publicvoidadd(){count++;}}publicclasssynDemo{publicstaticvoidmain(String[]args){Countercounter=newCounter();Threadt1=newThread(()->{for(inti=......