zoukankan      html  css  js  c++  java
  • C# MethodInvoker委托的使用

    一、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是操作控件的具体方法。

     

  • 相关阅读:
    linux下配置redis
    前端之JavaScript:JS之DOM对象一
    前端之JavaScript:JavaScript对象
    css样式之补充
    css属性中常见的操作方法
    css属性操作
    css选择器
    html 表单操作
    前端基础之html
    1231211221211221
  • 原文地址:https://www.cnblogs.com/king2317/p/7435282.html
Copyright © 2011-2022 走看看