一、MethodInvoker是什么?

  MethodInvoker 表示一个委托,该委托可以执行托管代码中声明为void且不接受任何参数的任何方法。在对控件的 invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托。


二、MethodInvoker如何使用

  使用MethodInvoker可以不用声明,将需要异步或同步执行的方法当做参数传递给委托实例化的MethodInvoker对象。

 MethodInvoker a = new MethodInvoker(Func);//Func需要异步执行的方法(Func为声明为void且不接受任何参数的方法)a.BeginInvoke(null,null);

  

  当Func方法异步执行完成后,需要对主线程的控件进行操作时代码如下

MethodInvoker a = new MethodInvoker(Func);a.BeginInvoke((i =>{if (i.IsCompleted){if (Button1.InvokeRequired){Action toDo = () => Button1.Visible = false;ProWaitPanl.Invoke(toDo);}else{Button1.Visible = false;}}}), null);
 

  Button1代表需要进行操作的控件,toDo是操作控件的具体方法。

C# MethodInvoker委托的使用相关推荐

  1. C# 中MethodInvoker委托的使用

    一.MethodInvoker是什么? MethodInvoker 是位于System.Windows.Forms下的元数据,表示一个委托,该委托可以执行托管代码中声明为void且不接受任何参数的任何 ...

  2. C# MethodInvoker委托的使用

    一.MethodInvoker是什么? MethodInvoker 表示一个委托,该委托可以执行托管代码中声明为void且不接受任何参数的任何方法.在对控件的 invoke 方法进行调用时或需要一个简 ...

  3. MethodInvoker 委托

    MethodInvoker 提供一个简单委托,该委托用于调用含 void 参数列表的方法.在对控件的 Invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托(摘自MSDN)   ...

  4. 使用MethodInvoker委托进行跨线程访问

    MethodInvoker 提供一个简单委托,该委托用于调用含 void 参数列表的方法.在对控件的 Invoke 方法进行调用时或需要一个简单委托又不想自己定义时可以使用该委托(摘自MSDN)   ...

  5. C# 中禁止跨线程访问解决-- MethodInvoker的理解

    以下引用自:   c#使用MethodInvoker解决跨线程访问控件 net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,有一种方法是禁止编译器对跨线程访问作检查,Control.Chec ...

  6. C# 中MethodInvoker的理解

     以下引用自:   c#使用MethodInvoker解决跨线程访问控件 net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,有一种方法是禁止编译器对跨线程访问作检查,Control.C ...

  7. C#用了多线程界面还是卡死

    软件界面的响应特性是判断一款软件的非常重要的方面.一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题. 要提高界面的响应特性,最 ...

  8. linux window nginx性能,Nginx负载均衡搭建(Window与Linux)

    windows上搭建nginx负载均衡 1.准备几台http服务器软件,这里选用一台apache一台tomcat apache(windows)下载链接:https://www.apachehaus. ...

  9. 《Visual Basic.Net 循序渐进》详细目录

    ​ 链接:https://pan.baidu.com/s/1IfaLvlklx-nT4KK4VKZuIw  提取码:ip5n 更新日期:2022年7月19日 更新章节:45个 更新代码:31个 目前教 ...

最新文章

  1. java 递归思想的理解
  2. jfinal获取url链接上面传来的string类型的值_每个公司都会用的短 URL 服务,怎么设计与实现?...
  3. java集成redis集群_spring集成redis cluster详解
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)成员模板
  5. Vim取消查找后的高亮提示,:nohl或者:noh什么的都不管用,来一个简单粗暴方法
  6. c cuda 指定gpu_GPU并行编程:熟练使用CUDA C语言
  7. jupyter notebook运行报404 302解决思路
  8. 今天,A股犹如过年!股市太火,炒股app都绷不住了
  9. python 二叉树
  10. hdu(杭电oj)输入输出练习题目总结
  11. Dangling Javadoc comment
  12. Python利用google翻译,翻译字幕文件!我想翻译日语!
  13. bch verilog代码_(15-7-2)BCH Verilog HDL 语言编写的(15,7,2)BCH编码和译码功能 VHDL-FPGA- 272万源代码下载- www.pudn.com...
  14. Zip函数教程(简单示例)
  15. Python——数字排列组合
  16. nginx日志格式分析
  17. oracle中sql的递归查询运用
  18. VS2010的aspx文件中的html代码的格式化整理的方法
  19. 1078 加油站加油
  20. 自相关(ACF)与偏自相关(PACF)(4)

热门文章

  1. [ 网络 ] 应用层协议 —— HTTP协议
  2. video.js 视频直播前端展示
  3. MySQL视图——创建视图、修改视图、删除视图、查看视图和更新视图
  4. 机器翻译与编码-解码模型 Machine Translation and Encoder-Decoder Models
  5. 视频号怎么运营,如何快速玩转微信视频号:国仁楠哥
  6. python特征选择relieff图像特征优选_基于Relief特征选择算法的研究与应用
  7. 关于我和计算机的故事
  8. realsense python 操作摄像头
  9. Matlab符号微积分练习
  10. DJI M210+manifold 2C配置