• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
智美手机APP
国内最专业的智能手机APP应用解决方案提供商。智美手机APP为您提供成熟稳定的专业化产品、产品定制等服务。
博客园    首页    新随笔    联系   管理    订阅  订阅

在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;
这样就完成了一个窗体在另一个窗体中的嵌套

posted @ 2012-07-22 14:22  小敏博客园  阅读(16284)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3