Winform中MDI窗体设计和窗口的放大缩小关闭按钮的显示与隐藏
一、MDI窗体设计MDI窗体即多文档界面。用于同时显示多个文档,每个文档显示在各自的窗口中。1、设置MDI窗体在MDI窗体中,起到容器作用的窗口被称为“父窗体”,放到父窗体中的其他窗体被称为“子窗体”,也成为“MDI子窗体”。当MDI应用程序启动时,首先会显示父窗体。每个应用程序只能有一个父窗体,其他子窗体不能移除父窗体的框架区域。父窗口设置: 设置子窗体:通过设置某个...
一、MDI窗体设计
MDI窗体即多文档界面。用于同时显示多个文档,每个文档显示在各自的窗口中。
1、设置MDI窗体
在MDI窗体中,起到容器作用的窗口被称为“父窗体”,放到父窗体中的其他窗体被称为“子窗体”,也成为“MDI子窗体”。当MDI应用程序启动时,首先会显示父窗体。每个应用程序只能有一个父窗体,其他子窗体不能移除父窗体的框架区域。
父窗口设置:
设置子窗体:
通过设置某个窗体的MdiParent属性来确定子窗体。
//参数设置菜单栏
private void 参数设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
SetPara SetParaWin = new SetPara();//创建参数设置窗口对象
SetParaWin.MdiParent = this;//设置当前窗体为父窗体
SetParaWin.Show();//显示窗体
}
这样设置之后发现子窗口不显示了,但其实是被父窗口的控件挡住了,解决方法如下,父窗口里加入以下语句。
using System.Runtime.InteropServices;
public partial class Form1 : Form
{
[DllImport("user32")]
public static extern int SetParent(int children, int parent);//弹出子窗口
//参数设置菜单栏
private void 参数设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
SetPara SetParaWin = new SetPara();//创建参数设置窗口对象
SetParaWin.MdiParent = this;//设置当前窗体为父窗体
SetParaWin.Show();//显示窗体
SetParent((int)SetParaWin.Handle, (int)this.Handle);
}
}
测试成功。
参考:https://blog.csdn.net/SugaryoTT/article/details/51345926#systemruntimeinteropservices
user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。
System.Runtime.InteropServices提供在窗体运行时的各种服务。
注意:使用System.Runtime.InteropServices和user32.dll不需要再额外添加引用,直接用语句应用即可。
2、排列MDI子窗体
当有多个子窗体同时打开,需要对其排列顺序进行调整。可以通过带有MdiLayout枚举的LayoutMdi方法排列多文档界面父窗体中的子窗体。
语法:public void LayoutMdi (LayoutMdi value)
子窗体排列
LayoutMdi(MdiLayout.TileHorizontal);//使用MdiLayout枚举实现窗体的垂直平铺
LayoutMdi(MdiLayout.TileVertical);//使用MdiLayout枚举实现窗体的垂直平铺
LayoutMdi(MdiLayout.Cascade);//使用MdiLayout枚举实现窗体的层叠平铺
3、窗体使用Show方法和ShowDialog方法显示窗体的区别
(1)使用Show方法:非模式窗体,如果有多个窗体,用户单击任何一个窗体,立即成为激活窗体并显示在屏幕的最前端。
(2)ShowDialog方法:模式窗体,它在显示时,如果作为激活窗体,则其他窗体不可用,只有在将模式窗体关闭之后,其他窗体才能恢复可用状态。
二、窗口的放大缩小关闭按钮的显示与隐藏
1、窗口的放大缩小关闭按钮的显示与隐藏
InitializeComponent();
this.ControlBox = true; // 设置显示放大缩小关闭按钮
或者:
2、隐藏放大和缩小按钮
效果:
更多推荐
所有评论(0)