委托、窗体传值、多播委托
2015-09-23 15:20
344 查看
窗体传值例子说明:
1, 在窗体1中定义方法ShowMsg,带一个string类型的参数。通过点击button1按钮,将该方法传给窗体2
2, 窗体2中声明一个委托DelTest,与ShowMsg方法有相同的签名。同时声明Form2的构造函数Form2(DelTest del);接收从窗体1传过来的方法。
3, 点击窗体2中的button按钮,将textbox的值作为参数传给ShowMsg方法
窗体1:
public partial
class Form1 :
Form
{
publicForm1()
{
InitializeComponent();
}
private
voidbutton1_Click(object sender,
EventArgs e)
{
Form2frm2 =
new Form2(ShowMsg);
frm2.Show();
}
voidShowMsg(string str)
{
label1.Text = str;
}
}
窗体2:
//声明一个委托
public
delegate void
DelTest(string str);
public
partial class
Form2 : Form
{
public
DelTest_del;
publicForm2(DelTest del)
{
this._del= del;
InitializeComponent();
}
private
voidbutton1_Click(object sender,
EventArgs e)
{
_del(textBox1.Text);
}
}
多播委托
public delegate
void DelTest();
class
Program
{
static
voidMain(string[] args)
{
DelTest del= T1;
del += T2;
del += T3;
del+= T4;
del -= T3;
del -= T1;
del();
Console.ReadKey();
}
public
static voidT1()
{
Console.WriteLine("我是T1");
}
public
static voidT2()
{
Console.WriteLine("我是T2");
}
public
static voidT3()
{
Console.WriteLine("我是T3");
}
public
static voidT4()
{
Console.WriteLine("我是T4");
}
}
1, 在窗体1中定义方法ShowMsg,带一个string类型的参数。通过点击button1按钮,将该方法传给窗体2
2, 窗体2中声明一个委托DelTest,与ShowMsg方法有相同的签名。同时声明Form2的构造函数Form2(DelTest del);接收从窗体1传过来的方法。
3, 点击窗体2中的button按钮,将textbox的值作为参数传给ShowMsg方法
窗体1:
public partial
class Form1 :
Form
{
publicForm1()
{
InitializeComponent();
}
private
voidbutton1_Click(object sender,
EventArgs e)
{
Form2frm2 =
new Form2(ShowMsg);
frm2.Show();
}
voidShowMsg(string str)
{
label1.Text = str;
}
}
窗体2:
//声明一个委托
public
delegate void
DelTest(string str);
public
partial class
Form2 : Form
{
public
DelTest_del;
publicForm2(DelTest del)
{
this._del= del;
InitializeComponent();
}
private
voidbutton1_Click(object sender,
EventArgs e)
{
_del(textBox1.Text);
}
}
多播委托
public delegate
void DelTest();
class
Program
{
static
voidMain(string[] args)
{
DelTest del= T1;
del += T2;
del += T3;
del+= T4;
del -= T3;
del -= T1;
del();
Console.ReadKey();
}
public
static voidT1()
{
Console.WriteLine("我是T1");
}
public
static voidT2()
{
Console.WriteLine("我是T2");
}
public
static voidT3()
{
Console.WriteLine("我是T3");
}
public
static voidT4()
{
Console.WriteLine("我是T4");
}
}
相关文章推荐
- 完成Matrix丶Kingdom PPT后的感想
- 一起了解操作系统发展史
- 心情:关于国内某些公司只认钱的事情,不闹大他们不会管。
- 时间戳转换
- 二叉树的遍历
- 关于证书
- Unity3d中的属性(Attributes)整理
- 匿名函数、泛型委托、Lamda表达式
- JavaScript语言标识符和保留字
- python 文件读写
- jsp自定义select选择标签和数据字典
- Lua保留规定小数位数
- 第九章 Vim之在文件之间跳转
- 浅谈Java中的n种随机数产生办法
- 为什么数据帧的长度最小是64字节
- Oracle 定时执行计划任务
- 改善Objective-C的日志输出
- 1、获取客户端真实ip地址
- Android下各个按键对应的key code
- WordPress 获取指定分类ID的分类信息