• 接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下


    接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下

    其实表面上看是很简单的
    开始吧,现在有两个窗体Form1主窗体,Form2子窗体
    而且我相信大部分人都会这样写

    在子窗体的Load事件中
    这样写
    复制代码 代码如下:

    this.StartPosition = FormStartPosition.CenterParent;

    其实这样写是不对的,正确的写法应该是
    复制代码 代码如下:

    this.StartPosition = FormStartPosition.CenterScreen;

    为什么是CenterScreen而不是CenterParent呢?
    那是因为我们调用的方法的问题,如果你在调用子窗体时是这样写的话
    复制代码 代码如下:

    Form2 f2 = new Form2();
    f2.MdiParent= this;
    f2.Show();

    那就得使用CenterScreen而不是CenterParent了,因为在Show的时候窗体是Owner页不是Parent
    只要使用ShowDialog()方法时使用CenterParent才有效
    大家会说这样就行了吗?其实也不行,我们的代码不应该写在Load事件中,而是在Show方法之前写。
    正确的写法应该是这样的
    复制代码 代码如下:

    Form2 f2 = new Form2();
    f2.MdiParent= this;
    f2.StartPosition = FormStartPosition.CenterScreen;
    f2.Show();

    在子窗体中你什么也不需要做

    再提供一个布局的其实属性
    StartPosition属性有如下选项,分别含义如下:
    CenterParent 窗体在其父窗体中居中。
    CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
    Manual 窗体的位置由 Location 属性确定。
    WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
    WindowsDefaultLocation窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。
    CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

  • 相关阅读:
    Go基础系列:流程控制结构
    Go基础系列:数据类型转换(strconv包)
    Go基础系列:简单数据类型
    Go基础系列:常量和变量
    Go基础系列:map类型
    Go基础系列:Go slice详解
    go基础系列:数组
    Go基础系列:import导包和初始化阶段
    Go基础系列:构建go程序
    go基础系列:结构struct
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3668713.html
Copyright © 2020-2023  润新知