WinForm 获取MDI子窗体显示区域大小

本文详细介绍了使用MDI主窗体方法`publicSizeGetMDIClientSize()`来获取客户端大小,以及如何在子窗体中正确应用此方法来设置其尺寸,确保界面布局的灵活性和响应性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        // MDI主窗体方法
        public Size GetMDIClientSize()
        {
            // 用到ToolStrip时,需减去ToolStrip所占位置
            // 如frmMDIParent.ClientSize-new Size(x,y)
            return frmMDIParent.ClientSize;
        }

        // 子窗体方法
        frmReject.StartPosition = FormStartPosition.CenterParent;
        frmReject.Size = frmMDIParent.GetMDIClientSize();
        frmReject.Show();
 
C# Winform中,如果想要所有MDI(Multiple Document Interface,多文档界面)窗体始终从同一位置开始,你可以通过设置窗体的启动位置来实现。这里有一个基本的步骤: 1. **设置主窗体**: 创建或打开MDI容器(通常是Form类的实例,它会包含多个窗体)。在设计模式下,可以在工具箱中选择Form控件。 2. **初始化窗体**: 当你创建一个新的窗体(Form类的实例)时,可以为其指定初始的位置。例如,在窗体的构造函数中,你可以这样做: ```csharp public FormChild() { // 设定窗体的默认位置相对于主窗体 Location = new Point(parentForm.Left + desiredXOffset, parentForm.Top + desiredYOffset); } ``` 在这里,`parentForm`是你当前的主窗体实例,`desiredXOffset` 和 `desiredYOffset` 是你想让窗体偏离主窗体边缘的距离。 3. **动态添加窗体**: 当通过代码动态添加窗体时,同样使用相同的初始化位置: ```csharp FormChild subForm = new FormChild(); subForm.ShowInParent(parentForm); ``` `ShowInParent()` 方法可以让你控制窗体如何在主窗体显示,比如是否在最上面,或者在某个特定位置。 **相关问题--** 1. 如何保存窗体的位置以便下次打开时自动恢复? 2. 是否有更简单的属性可以直接设置窗体始终从同一位置开启? 3. 如果我想限制窗体只能在主窗体的某个区域内打开,怎么做?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值