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

     

  • 相关阅读:
    基本数据类型和包装数据类型
    编程英语多样化(长期更新)
    jdk,jre,jvm,openJdk
    英语句子频率印象流
    单击单选按钮换成图片
    标签注意事项:
    背景图片处理
    天猫导航栏
    百度地图
    两栏布局
  • 原文地址:https://www.cnblogs.com/king2317/p/7435282.html
Copyright © 2020-2023  润新知