委托(窗体传值,多播委托)

利用委托进行窗体传值

本质上是对窗口的构造函数中传入委托
则先对新窗口进行设置
在新窗体中申明委托对象
申明委托字段,
构造函数中申明委托对象的委托字段
用该委托字段接受窗体构造函数时传入的委托
在新窗口中对委托进行赋值

关键性代码

//窗体1
private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2(Mess);
            frm2.Show();
        }
        void Mess(string str)
        {
            label1.Text = str;
        }

//窗体2

        public delegate void del(string str);
        public del _de;
        public Form2(del de)
        {
            this._de = de;
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            _de(textBox1.Text);
        }
...

多播委托

多播委托及委托内可以传递多个方法
使用+= -=操作

实例

public delegate void DelTes();
    class Program
    {
        static void Main(string[] args)
        {
            //委托可以进行加减操作,运行多个方法
            DelTes t = T1;
            t += T2;
            t += T3;
            t -= T2;
            t();
        }
        public static void T1()
        {
            Console.WriteLine("T1");
        }
        public static void T2()
        {
            Console.WriteLine("t2");
        }
        public static void T3()
        {
            Console.WriteLine("t3");
        }
        public static void T4()
        {
            Console.WriteLine("t4");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值