zoukankan      html  css  js  c++  java
  • 接下来将介绍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的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

  • 相关阅读:
    mysql报错:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
    MD5登陆密码的生成
    15. 3Sum、16. 3Sum Closest和18. 4Sum
    11. Container With Most Water
    8. String to Integer (atoi)
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    几种非线性激活函数介绍
    AI初探1
    AI初探
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3668713.html
Copyright © 2011-2022 走看看