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;    

      }

    }

  • 相关阅读:
    PostgreSQL操作-psql基本命令
    python 解决抓取网页中的中文显示乱码问题
    1018: [SHOI2008]堵塞的交通traffic
    1015: [JSOI2008]星球大战starwar
    1057: [ZJOI2007]棋盘制作
    1022: [SHOI2008]小约翰的游戏John
    1059: [ZJOI2007]矩阵游戏
    1206: [HNOI2005]虚拟内存
    1201: [HNOI2005]数三角形
    1003: [ZJOI2006]物流运输trans
  • 原文地址:https://www.cnblogs.com/xihong2014/p/4420183.html
Copyright © 2011-2022 走看看