C# 实现子窗体控制父窗体的方法
2015-03-07 00:28
337 查看
我们来实现这样一个功能:当父窗体打开一个子窗体时隐藏父窗体的Panel,而当子窗体关闭时让Panel显示。实现的主要思路是创建一个子窗体的父类并在类中声明一个委托,当父窗体调用子窗体时绑定显示Panel的方法。如下:
1.新建一个项目,分别添加MainForm、BaseChildForm两个窗体,其中MainForm的IsMdiContainer设为True。
2.在BaseChildForm里声明一个委托void ClosingHandler(),并重写OnFormClosing方法:
3.向MainForm里添加一个Panel,并定义一个方法void SeePanel():
4.添加一个用于创建子窗体对象和绑定其委托MyHandler的方法:
5.调用:创建一系列继承自BaseChildForm的子窗体,并在MainForm里的对应按钮的Click事件中调用CreatChildForm方法,如:
阅读(950)| 评
1.新建一个项目,分别添加MainForm、BaseChildForm两个窗体,其中MainForm的IsMdiContainer设为True。
2.在BaseChildForm里声明一个委托void ClosingHandler(),并重写OnFormClosing方法:
public delegate void ClosingHandler(); public ClosingHandler MyHandler; protected override void OnFormClosing(FormClosingEventArgs e) { if (MyHandler != null) { MyHandler(); } base.OnFormClosing(e); }
3.向MainForm里添加一个Panel,并定义一个方法void SeePanel():
private void SeePanel() { this.panel1.Visible = true; }
4.添加一个用于创建子窗体对象和绑定其委托MyHandler的方法:
private void CreatChildForm(BaseChildForm childform) { childform.MdiParent = this; childform.MyHandler += new BaseChildForm.ClosingHandler(this.SeePanel); this.panel1.Visible = false; childform.Show(); }
5.调用:创建一系列继承自BaseChildForm的子窗体,并在MainForm里的对应按钮的Click事件中调用CreatChildForm方法,如:
private void button1_Click(object sender, EventArgs e) { CreatChildForm(new ChildForm1()); }
阅读(950)| 评
相关文章推荐
- 实现子窗体控制父窗体的方法
- 用c#实现控制鼠标位置的方法 (转载)
- !!C# BackgroundWorker异步操作以及实现等待提示窗体功能---C#中此方法比多线程用的多
- C#实现通过winmm.dll控制声音播放的方法
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- C#实现窗体与子线程的交互的方法
- C#实现窗体淡入淡出效果的几种方法
- 【转】c#实现在两个窗体(winform)之间传输数据或变量的方法
- 在winfrom下利用c#代码,实现kindEditor的JavaScript方法:editor.html(),实现上报窗体的自动提交。
- C#实现winform用子窗体刷新父窗体及子窗体改变父窗体控件值的方法
- C#中实现鼠标拖动窗体的方法
- C#实现窗体圆角的一种方法
- C#实现无标题栏窗体点击任务栏图标正常最小化或还原的解决方法
- C#实现控制Windows系统关机、重启和注销的方法
- C#实现窗体圆角的一种方法
- C#中在控件中画图并用TIMER控件进行控制方法的实现
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- C#实现窗体圆角的一种方法
- C#中实现 子窗体控制调用父窗体成员和控件
- C# 控制另一个窗体的方法