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

    可参考http://bbs.csdn.net/topics/390377875中使用new Action<>的使用方式,替代delegate的申明。

    public delegate void MyInvokeWarn(bool para);  

    public delegate void MyInvoke(Control control,string str);

    //单个参数

     public void enableWarn1(bool para)        

    {            

      if (panelWarn1.InvokeRequired)            

      {                

        MyInvokeWarn _myinvoke = new MyInvokeWarn(enableWarn1);                

        panelWarn1.Invoke(_myinvoke, new object[] { para });            

      }            

      else            

      {                

        panelWarn1.Visible = para;            

      }        

    }

    //两个参数

     public void printMsg(Control control,string msg)        

    {            

        if (control.InvokeRequired)            

        {                

           MyInvoke _myInvoke = new MyInvoke((ct, v) => { ct.Text = v; });                

           control.Invoke(_myInvoke,new object[] {control,msg});            

         }            

        else            

        {                

           control.Text = msg;            

         }        

    }

     

    在Winform开发中,如果在多线程中操作某一个控件的赋值的时候

    //先声明一个委托

    public delegate void SetControlTextDelegate(Control control);

    //设置控件的方法

    public void SetControlText(Control control, string value)

    {    

      if (control.InvokeRequired)    

      {        

      //使用委托赋值        

         control.Invoke(new SetControlTextDelegate((ct, v) => { ct.Text = v; }), new object[] { control, value });     }    

      else    

      {        

         control.Text = value;    

      }

    }

  • 相关阅读:
    【Java集合】JDK1.7和1.8 HashMap有什么区别
    【Java集合】为什么HashMap的长度是2的N次幂?
    【VritualEnv】虚拟环境的介绍和基本使用
    【分布式事务】分布式事务解决方案
    【JVM】JVM中的垃圾收集器
    jQuery事件触发前后进行其他的操作
    在jQuery中使用自定义属性
    使用其他服务器引入JS文件
    引入其他服务的JS、和 本地的JS文件,script的属性
    trigger 和 triggerHandler(),自定义事件
  • 原文地址:https://www.cnblogs.com/xihong2014/p/4420183.html
Copyright © 2011-2022 走看看