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的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

  • 相关阅读:
    eclipse自动生成uml
    【北航软件工程】Alpha阶段前端页面编写及服务器部署
    【北航软件工程】最长单词链
    软件工程第一次阅读!
    软工第0次个人作业
    第四次oo博客
    小菜鸡儿的第三次OO博客
    关于面向对象第二阶段的总结
    关于面向对象第一阶段的总结
    `ll/sc` 指令在`linux`中的软件实现
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3668713.html
Copyright © 2011-2022 走看看