• C#怎么设置子窗体在主窗体中居中显示


    阅读全文地址:http://www.sufeinet.com/thread-1473-1-1.html

    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();

    在子窗体中你什么也不需要做
    下面是我提供的一个例子,是源代码,大家如果还是感觉不太清楚的话可以下载例子看一下

     

    本人的博客不再维护从2013年就不再维护了 需要我帮助的朋友请到我的个人论坛 http://www.sufeinet.com 进行讨论,感谢大家对我的支持!
  • 相关阅读:
    PHP面向对象之原型(trait)
    PHP面向对象之命名空间
    Javascript中的Copy()函数
    六、unique_lock取代lock_guard
    五、互斥量
    四、创建和等待多个线程
    三、线程传参
    二、线程的启动与结束 join与detach
    HTTP:常见状态码
    HTTP:简述URL、URN和URI
  • 原文地址:https://www.cnblogs.com/sufei/p/2799468.html
Copyright © 2020-2023  润新知