zoukankan      html  css  js  c++  java
  • 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体

    在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体
    ShowAllPage sAllPage = new ShowAllPage();
              //  sAllPage.FormBorderStyle = FormBorderStyle.None;
               // sAllPage.Dock = DockStyle.Fill;
                sAllPage.TopLevel = false;
                this.MainPanel.Controls.Clear();
                this.MainPanel.Controls.Add(sAllPage);
                sAllPage.Show();

    MainPanel为主窗体中的Panel控件,ShowAllPage为要在主窗体中显示中Panel中的窗体.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------

    FormBorderStyle 属性设置新窗体的边框样式
    Dock属性获取或设置哪个边框停靠到父框体并确定如何随父框体一起调整大小
    这两项属性可不加

    但是用一个最简单的方法来说,就是使用MDI
    首先,父窗口要设置IsMdiContainer属性为True。实现MDI结构的父子窗口套用
    然后在窗口跳转处改为如下代码:
    例:一般跳转:Form1 f=new Form();
                                     F.Show();
    改为:
    Form1 c = new Form1();
                c.MdiParent = this;
                c.Show();
    不过这样有时会遇到一个问题,就是子窗体在跳出的时候会以父窗体的0,0坐标为准,所以在父窗体中如果有菜单栏的话,子窗体会被遮盖上,那么我们就在子窗体的Form_Load()中加上一句话来设置它与窗体上边缘的距离
    this.Top = 100;
    这样就完成了一个窗体在另一个窗体中的嵌套

  • 相关阅读:
    sst上传和下载码云
    maven之构建多模块maven工程
    Spring 声明式事务管理方式
    Spring管理连接池的几种方式
    在Spring整合aspectj实现aop的两种方式
    java写文件UTF-8格式
    分布式和集群的区别
    Oracle:同步两张表的相同字段
    ORA-01013:用户请求取消当前的操作
    MyBatis updateByExample和updateByExampleSelective的区别
  • 原文地址:https://www.cnblogs.com/lmcblog/p/2603646.html
Copyright © 2011-2022 走看看