用委托来实现子窗体操作父窗体中的控件
2010-09-28 16:51
337 查看
代码实现
Form1中,一个Lable1;在Form2中控制Form1中的Lable1的显示或隐藏!
Form1代码: view plaincopy to clipboardprint? namespace WindowsApplication2 { public delegate void SetVisiableHandler(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(new SetVisiableHandler(SetVisiable)); frm.Show(); } private void SetVisiable() { SetVisiable(this.label1, !this.label1.Visible); } private void SetVisiable(Control control, bool visiable) { if (this.Controls.Contains(control)) { control.Visible = visiable; } } } }
namespace WindowsApplication2 { public delegate void SetVisiableHandler(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(new SetVisiableHandler(SetVisiable)); frm.Show(); } private void SetVisiable() { SetVisiable(this.label1, !this.label1.Visible); } private void SetVisiable(Control control, bool visiable) { if (this.Controls.Contains(control)) { control.Visible = visiable; } } } }
Form2代码 view plaincopy to clipboardprint? namespace WindowsApplication2 { public partial class Form2 : Form { private SetVisiableHandler m_setVisible; public Form2(SetVisiableHandler setvisible) { InitializeComponent(); this.m_setVisible = setvisible; } private void btnVisible_Click(object sender, EventArgs e) { if (this.m_setVisible != null) { this.m_setVisible(); } } } }
Form1中,一个Lable1;在Form2中控制Form1中的Lable1的显示或隐藏!
Form1代码: view plaincopy to clipboardprint? namespace WindowsApplication2 { public delegate void SetVisiableHandler(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(new SetVisiableHandler(SetVisiable)); frm.Show(); } private void SetVisiable() { SetVisiable(this.label1, !this.label1.Visible); } private void SetVisiable(Control control, bool visiable) { if (this.Controls.Contains(control)) { control.Visible = visiable; } } } }
namespace WindowsApplication2 { public delegate void SetVisiableHandler(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(new SetVisiableHandler(SetVisiable)); frm.Show(); } private void SetVisiable() { SetVisiable(this.label1, !this.label1.Visible); } private void SetVisiable(Control control, bool visiable) { if (this.Controls.Contains(control)) { control.Visible = visiable; } } } }
Form2代码 view plaincopy to clipboardprint? namespace WindowsApplication2 { public partial class Form2 : Form { private SetVisiableHandler m_setVisible; public Form2(SetVisiableHandler setvisible) { InitializeComponent(); this.m_setVisible = setvisible; } private void btnVisible_Click(object sender, EventArgs e) { if (this.m_setVisible != null) { this.m_setVisible(); } } } }
相关文章推荐
- 用委托来实现子窗体操作父窗体中的控件
- C#自定义类中操作主窗体控件,通过委托实现
- C# 委托实例(跨窗体操作控件)
- C# 委托实例(跨窗体操作控件)
- C# 委托实例(跨窗体操作控件)
- C# 采用系统委托的方式处理线程内操作窗体控件
- C# 委托实例(跨窗体操作控件)
- C#之线程、委托,强强联手操作窗体控件...
- 跨窗体操作控件(委托实例)
- C# 委托(跨窗体操作控件)实例流程讲解
- C#之线程、委托,强强联手操作窗体控件...
- C# 委托实例(跨窗体操作控件)
- Winform跨窗体操作控件(使用委托)
- C# 委托实例(跨窗体操作控件)
- C# 委托实例(跨窗体操作控件)
- Winform跨窗体操作控件(使用委托)
- 基于APM模式的异步实现及跨线程操作窗体或控件方法的实现示例
- C# 采用系统委托的方式处理线程内操作窗体控件(转载)
- C# :线程中操作多控件 (委托实现异步及同步的方法)
- C# 在自定义线程中采用系统委托方式操作主窗体线程控件的方法