• 委托基本用法


    1、委托是什么?

        委托是存储函数的引用类型,类似于函数,但不带函数体,且要使用delegate关键字。

    2、委托用在哪?

       委托是一个类,将方法当作另一个方法的参数进行传递,动态地复制给参数的方法。

    3、委托怎么用?

       来个栗子趴:主从窗体通信

      ① 从窗体(form2)发送信息给主窗体(form1)

       主要语句:

      form1: 首先,先声明一个委托  public delegate void ShowResult(string paraml)

                    建立接受传递的信息---Receiver(string paraml)方法

       form2:    根据委托创建委托对象 public ShowResult msgSender

                    创建委托变量传递  msgSender(string paraml)

       form1: 关联form2

                   form2   fm=new form2();

                   fm.msgSender=Receiver;

                   fm.show();   

     

    ②从主窗体(form1)同时向从窗体(form2,form3,form4)发送信息

       form1: 首先,先声明一个委托  public delegate void ShowResult(string paraml)

                    根据委托创建委托对象 public ShowResult msgSender

       form2,form3,rorm4:  建立接受传递的信息---Receiver(string paraml)方法

       form1: 关联form2

                form2   fm2=new form2();

                form3   fm3=new form3();

                form4   fm4=new form4();

                this.msgSender+=fm2.Receiver;

                this.msgSender+=fm3.Receiver;

                this.msgSender+=fm4.Receiver;

                form2.show();

                form3.show();

                form4.show();

    ③ 委托与事件(event)

        事件的理解: 事件是对象在外界触发下发生事情,而对外提供的一种消息机制。

        事件的参与者:发送端  即对象本身,触发事件,并发送给接受端

                                 接受端  用来处理事件

        事件可以看做为委托的类型

        form1 :声明一个委托   public delegate void ShowResult(string paraml)

                    声明一个事件   public event ShowResult  sendMsgEvent

         form2 : 建立一个事件响应方法  public void  enventRespone(string msg)

         form1: 关联form2

                    form2   fm2=new form2();

                    sendMsgEvent+=new ShowResult(fm2.enventRespone);

                    fm2.show();

     

  • 相关阅读:
    Python 生命游戏(tkinter版)
    时间序列的数据分析(二):数据趋势的计算
    【华为OD机试真题 python】 绘图机器【2022 Q4 | 100分】
    STC15单片机-生产资料,项目结束
    分布估计算法(Estimation of distribution algorithm,EDA)
    [附源码]java毕业设计购买车票系统
    c++ 中struct和class
    网络编程06-服务器编程非阻塞IO、多路复用
    从零开始学习Dubbo4——让模块独立运行
    串口数据帧
  • 原文地址:https://blog.csdn.net/u014653068/article/details/127096496