在Winform 窗体之间 委托事件传值

Form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace winformDelegate
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           Form2 frm=new Form2();
           frm.Myevent += GetValue;
            frm.Show();
        }

        public void GetValue(string text)
        {
            textBox1.Text = text;
        }
    }
}
Form2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace winformDelegate
{
    public partial class Form2 : Form
    {
        public delegate void DelegaeValue
            (string text);

        public event DelegaeValue Myevent;

        protected virtual void ValueInformation(string text)
        {
            DelegaeValue handler = Myevent;
            if (handler != null)
                handler(text);
        }

        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (Myevent != null)
            {
            }
            ValueInformation(textBox1.Text);
        }


    }
}

在WinForm中用委托传值 

 

posted @ 2012-11-30 11:44  在 水 一 方  阅读(913)  评论(3编辑  收藏  举报