MDI和继承窗体设计
2014-06-05 17:42
323 查看
MDI窗体设计:(Multiple-Document Interface)
用途:用于同时显示多个文档,每个文档显示在各自的窗体中。
起到容器作用的窗体被称为"父窗体",可放在父窗体中的其他窗体称为"子窗体",也称为"MDI子窗体"。
每个应用程序只能有一个父窗体,并且其他子窗体不能移出父窗体的框架区域。
1.设置父窗体:
在窗体的属性面板
将IsMdiContainer属性设置为True即可
2.设置子窗体:
通过设置窗体的MdiParent属性来确定子窗体
Form2 form2 = new Form2()
form2.Show()
form2.MdiParent=this;//这里设置了MdiParent,将当前窗体作为父窗体。
3.对MDI窗体进行排列
使用带有MdiLayout枚举的LayoutMdi方法排列子窗体
枚举成员:
Cascade:所有MDI子窗体层叠在MDI父窗体工作区内
TileHorizontal:所有MDI子窗体均水平平铺在MDI父窗体的工作区内
TileVertical:所有MDI子窗体均垂直平铺在MDI父窗体的工作区内
示例代码:
LayoutMdi(MdiLayout.TileHorizontal)//使用MdiLayout枚举实现窗体的水平平铺
继承窗体:
创建继承窗体有两种方式:
一是通过编程方式创建继承窗体,二是使用继承选择器创建继承窗体。
1.编程方式创建继承窗体(Form2继承Form1)
原始代码:
namespace Form(项目名)
{
public partial class Form2:Form //表示当前窗体继承于Form类
{......}
}
修改之后:
只需修改:public partial class Form2:Form.Form1(使用Form2窗体继承Form1窗体)
2.使用继承选择器创建继承窗体
(1)选择项目->右击->添加->新建项,打开"添加新项"
(2)在"添加新项"对话框中选择"继承的窗体",并输入窗体名称,单击"添加"按钮,打开"继承选择器"对话框,
(3)在"继承选择器"对话框中单击浏览按钮,选择要继承的基窗体,单击"确定‘,完成继承窗体的创建。
当向窗体中添加控件时,控件的Modifiers属性默认为Private,但如果继承这样的窗体,则在继承窗体中控件的属性全部为不可编辑状态。
其实,我们可以通过基窗体中控件的Modifiers属性设置为Public,来实现在继承窗体中编辑控件属性的功能。
用途:用于同时显示多个文档,每个文档显示在各自的窗体中。
起到容器作用的窗体被称为"父窗体",可放在父窗体中的其他窗体称为"子窗体",也称为"MDI子窗体"。
每个应用程序只能有一个父窗体,并且其他子窗体不能移出父窗体的框架区域。
1.设置父窗体:
在窗体的属性面板
将IsMdiContainer属性设置为True即可
2.设置子窗体:
通过设置窗体的MdiParent属性来确定子窗体
Form2 form2 = new Form2()
form2.Show()
form2.MdiParent=this;//这里设置了MdiParent,将当前窗体作为父窗体。
3.对MDI窗体进行排列
使用带有MdiLayout枚举的LayoutMdi方法排列子窗体
枚举成员:
Cascade:所有MDI子窗体层叠在MDI父窗体工作区内
TileHorizontal:所有MDI子窗体均水平平铺在MDI父窗体的工作区内
TileVertical:所有MDI子窗体均垂直平铺在MDI父窗体的工作区内
示例代码:
LayoutMdi(MdiLayout.TileHorizontal)//使用MdiLayout枚举实现窗体的水平平铺
继承窗体:
创建继承窗体有两种方式:
一是通过编程方式创建继承窗体,二是使用继承选择器创建继承窗体。
1.编程方式创建继承窗体(Form2继承Form1)
原始代码:
namespace Form(项目名)
{
public partial class Form2:Form //表示当前窗体继承于Form类
{......}
}
修改之后:
只需修改:public partial class Form2:Form.Form1(使用Form2窗体继承Form1窗体)
2.使用继承选择器创建继承窗体
(1)选择项目->右击->添加->新建项,打开"添加新项"
(2)在"添加新项"对话框中选择"继承的窗体",并输入窗体名称,单击"添加"按钮,打开"继承选择器"对话框,
(3)在"继承选择器"对话框中单击浏览按钮,选择要继承的基窗体,单击"确定‘,完成继承窗体的创建。
当向窗体中添加控件时,控件的Modifiers属性默认为Private,但如果继承这样的窗体,则在继承窗体中控件的属性全部为不可编辑状态。
其实,我们可以通过基窗体中控件的Modifiers属性设置为Public,来实现在继承窗体中编辑控件属性的功能。
相关文章推荐
- 第九章. Windows窗体设计(MDI窗体,继承窗体)
- 泛型窗体继承时不能在设计器中显示,为神马?
- MDI窗体设计
- 结合RibbonControl设计MDI窗体,在子窗体关闭后,顶部显示额外的控制栏残影
- MDI窗体设计
- winform窗体继承泛型类时,设计器无法使用解决办法
- MDI窗体与继承窗体
- 泛型窗体继承时不能在设计器中显示,为神马?
- 继承窗体的设计界面报错——C#
- C# 选项、单选、多选、分组、MDI窗体的设计、PictureBox
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
- 角色权限中窗体的继承问题即窗体设计器打开异常现象
- MDI窗体设计中,避免重复打开同一个子窗体——详解
- vs C# 继承窗体类出现“文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类”无法打开设计器的错误
- winform窗体继承泛型类时,设计器无法使用解决办法
- 关于DevExpress GridControl 和TreeList在窗体被继承后无法设计问题
- 主窗体为MDI,子窗体的建立写到了DLL里,代码见内,如何判断使子窗体只CREATE一次?
- 如何设计MDI的窗口样式
- 第15条:要么专门为继承而设计,并给出文档说明,要么禁止继承
- Visual C++窗体设计技巧集