using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
/*
事件传值总结:
准备工作:首先声明一个类MyEventArgs继承EventArgs,该类存储传的值,因为事件的参数是EventArgs
首先声明一个事件,然后注册事件,其中要写上事件处理方法,其他方法触发事件的时候调用该处理方法
触发事件时将MyEventArgs的对象传给事件处理方法
*/
namespace 事件传值复习
{
publicpartialclass Form1 : Form
{
publicForm1()
{
InitializeComponent();
}
publicevent EventHandler evt;
Form2 form2 = new Form2();
MyEventArgs mea = new MyEventArgs();
privatevoidbtnFirst_Click(object sender, EventArgs e)
{
this.evt += new EventHandler(form2.SetText);//注册事件
form2.Show();
}
privatevoidbtnValue_Click(object sender, EventArgs e)
{
mea.Text = textBox1.Text;
this.evt(this,mea);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 事件传值复习
{
publicpartialclass Form2 : Form
{
publicForm2()
{
InitializeComponent();
}
publicvoidSetText(object sender, EventArgs e)
{
MyEventArgs mea = e as MyEventArgs;
txtbox2.Text = mea.Text;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 事件传值复习
{
publicclass MyEventArgs:EventArgs
{
privatestring text;
publicstring Text
{
get
{
return text;
}
set
{
text = value;
}
}
}
}