【WeifenLuo.WinFormsUI.Docking】的个人小结,逐步完善中

6 篇文章 0 订阅
1 篇文章 0 订阅

以下是两种窗口的停靠效果:

//效果1:子窗体1和子窗体2以选项卡方式停靠在左侧;
            Frm_Child1 = new Frm_Child1();
            Frm_Child1.Show(this.dockPanel1, DockState.DockLeft);

            Frm_Child2 = new Frm_Child2();
            Frm_Child2.Show(this.dockPanel1, DockState.DockLeft);

//效果2:子窗体1和子窗体2同时展开分上下两部分停靠在左侧;
            Frm_Child1 = new Frm_Child1();
            Frm_Child1.Show(this.dockPanel1);
            Frm_Child1.DockTo(dockPanel1, DockStyle.Left);

            Frm_Child2 = new Frm_Child2();
            Frm_Child2.Show(this.dockPanel1);
            Frm_Child2.DockTo(dockPanel1, DockStyle.Left);
以下设置停靠宽度的内容转自:http://www.cnblogs.com/gaoyunpeng/archive/2010/08/17/1801323.html

在项目中使用了WeifenLuo.WinFormsUI.Docking组件,窗体停靠效果非常棒。
现在项目出现了这样的需求,希望可以控制停靠窗体的宽度,因为默认的宽度往往会造成停靠窗体的内容显示不完全,降低了用户体验
停靠窗体有两种状态,一种是固定停靠显示,一种是自动隐藏停靠显示。表现为“自动隐藏”按钮是否处于按下状态。
针对这两种状态,可以分别设置两个对应的属性,即可实现指定停靠窗体宽度的目的。

约定:
mainForm是主窗体,主窗体上放置了一个DockPanel;
dockForm是停靠窗体,停靠在主窗体的右部
即:dockForm.DockArea = DockAreas.DockRight; 

一、固定停靠显示
即:dockForm.DockState = DockState.DockRight;
设置窗体显示宽度方法如下:
mainForm.DockPanel.DockRightPortion = (double)dockForm.Width / (double)mainForm.DockPanel.Width;
DockRightPortion这个属性的含义是:右侧停靠窗体在固定停靠状态下,窗体宽度占停靠面板(DockPanel)的比例。 

二、自动隐藏停靠显示
即:dockForm.DockState = DockState.DockRightAutoHide;
设置窗体显示宽度方法如下:
dockForm.AutoHidePortion = (double)dockForm.Width / (double)mainForm.DockPanel.Width;
AutoHidePortion这个属性的含义是:右侧停靠窗体在自动隐藏停靠状态下,窗体宽度占停靠面板(DockPanel)的比例。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值