首页 > 代码库 > 简单的委托实例
简单的委托实例
namespace
使用委托窗体传值
{
public
partial
class
Form1 : Form
// 窗体1
{
public
Form1()
{
InitializeComponent();
}
private
void
button1_Click(
object
sender, EventArgs e)
{
// 创建Form2实例f2
Form2 f2 =
new
Form2();
// 向PassValue事件订阅一个事件,该事件源会携带一个带textbox2的信息
f2.PassValue+=
new
Form2.SetTextToLabelHandler(Form2_ButtonClicked);
f2.Show();
}
private
void
Form2_ButtonClicked(
object
send, SetTextToLabelEventArgs e) {
label1.Text = e.Text;
}
}
}
namespace
使用委托窗体传值
{
public
partial
class
Form2 : Form
// 窗体2
{
public
Form2()
{
InitializeComponent();
}
// 声明传值委托
public
delegate
void
SetTextToLabelHandler(
object
sender, SetTextToLabelEventArgs e);
// 声明一个传值委托类型的事件
public
event
SetTextToLabelHandler PassValue;
private
void
button1_Click(
object
sender, EventArgs e)
{
// 创建事件源类实例并传递textbox1的值过去
SetTextToLabelEventArgs args =
new
SetTextToLabelEventArgs(textBox1.Text);
PassValue(
this
, args);
// 触发事件
this
.Dispose();
}
}
public
class
SetTextToLabelEventArgs : System.EventArgs {
public
string
Text {
get
;
set
;}
public
SetTextToLabelEventArgs(
string
text) {
this
.Text= text;
}
}
}
简单的委托实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。