UI布局如下

委托定义如下:

public delegate void SetMessageDelegate(string message);

From1的代码如下:

    public partial class Form1 : Form {SetMessageDelegate setMessageDelegate = null;public Form1(){InitializeComponent();setMessageDelegate += SetMessageMethod;  //注册委托回调Console.WriteLine("UI初始化线程Id:" + Thread.CurrentThread.ManagedThreadId);}public void SetMessageMethod(string message){Console.WriteLine("UI线程Id:" + Thread.CurrentThread.ManagedThreadId);this.textBox1.Text = message;}private void button1_ClickAsync(object sender, EventArgs e){Task.Run(() =>{Console.WriteLine("Task子线程Id:" + Thread.CurrentThread.ManagedThreadId);this.button1.Invoke(setMessageDelegate, "要传递的数据");//this.textBox1.Invoke(setMessageDelegate, "用textBox1的Invoke也行");});                              }}public delegate void SetMessageDelegate(string message);

代码太简单了,不解释,注意观察输出的线程Id

运行结果如下:

C#利用Invoke和委托实现子线程更新UI(方式1)相关推荐

  1. Android中Activity、Window、ViewRootImpl与子线程更新UI

    三者层级关系 1.Window Window是一个抽象类,唯一的实现类是PhoneWindow Window分为三种类型应用Window.子Window.系统Window.子Window无法独立存在必 ...

  2. Android子线程更新UI的方法总结

    消息机制,对于Android开发者来说,应该是非常熟悉.对于处理有着大量交互的场景,采用消息机制,是再好不过了.有些特殊的场景,比如我们都知道,在Android开发中,子线程不能更新UI,而主线程又不 ...

  3. android 关于关于子线程更新UI的一些事

    我们在看一些书或者博客时总是会看到一句话"android更新UI操作都是在Main主线程中,子线程中不能进行UI更新操作"那么,在子线程中真的不能进行UI的更新操作吗? //源码环 ...

  4. AndroidStudio子线程更新UI的几种方式

    在安卓开发中,大部分情况下是不能在子线程直接更新UI的,只能在UI线程更新UI,其根本原因在于加入在一个Activity中有多个线程去更新UI,且没有加锁机制,可能会产生界面混乱的情况,但是如果都加锁 ...

  5. Android为什么不能在子线程更新UI

    Android为什么不能在子线程更新UI Android为什么不能在子线程更新UI? 如果不做这个校验,是不是我也可以正常在子线程更新UI 但是google为什么要这样去设计呢 ViewRootImp ...

  6. 面试官问我:Andriod为什么不能在子线程更新UI?

    记得看文章三部曲,点赞,评论,转发. 微信搜索[程序员小安]关注还在移动开发领域苟活的大龄程序员,"面试系列"文章将在公众号同步发布. 1.前言 看完<你为什么在现在的公司不 ...

  7. pyqt5 子线程更新ui

    from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * import time''' 信号 ...

  8. 子线程更新UI,牵扯activity的启动过程

    http://m.blog.csdn.net/article/details?id=43449123 点击打开链接

  9. 为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区...

    开门见山: 这个误区是:子线程不能更新 UI ,其应该分类讨论,而不是绝对的. 半小时前,我的 XRecyclerView 群里面,一位群友私聊我,问题是: 为什么我的子线程更新了 UI 没报错? 我 ...

最新文章

  1. NVIDIA Tensor Cores解析
  2. linux 中文输入法 xshall,Centos6.7下安装ibus中文输入法
  3. 带你玩转关键字Synchronized
  4. 【必看】如何向女朋友解释TCP的三次握手和四次挥手
  5. PHP做二次开发:本机安装ThinkCMF系统
  6. QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开
  7. Qt文档阅读笔记-Q_PROPERTY解析及实例
  8. 热门wordpress主题Essentials汉化绿色版[更至v2.0.0]
  9. Pandas知识点-合并操作combine
  10. A. Regular Bracket Sequences
  11. java中递归删除_浅谈Java中使用递归方法删除文件
  12. object转换成Integer
  13. 基于密度聚类的DBSCAN和kmeans算法比较
  14. 网络机顶盒固件增删预装APP步骤
  15. 关于自动量程万用表和自动档位万用表使用
  16. Docker学习笔记1
  17. Java自动拆装箱总结
  18. 那些超好听却不红的歌
  19. 2022/1/12(自闭半日游)
  20. 详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图

热门文章

  1. 视频教程-全新150集通俗易懂的Java设计模式-Java
  2. 企业微信发送图文消息
  3. 游戏人工智能 读书笔记 (二) 游戏人工智能简史
  4. google translate 免费使用 /translate_a/single 接口翻译
  5. 牛逼!一文看尽2020上半年阿里、腾讯、百度入选AI顶会论文
  6. excel对比.去重,排序
  7. 抖音视频消重软件 手机能改视频md5吗
  8. ppt模板如何制作旋转位移展示动画?
  9. java分层开发模式的概念_Java开发人员的z / OS概念
  10. HR必看的电子劳动合同趋势精华