WeifenLuo组件中如何设置停靠窗体的宽度
在项目中使用了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)的比例。
参考:http://www.cnblogs.com/gaoyunpeng/archive/2010/08/17/1801323.html
WeifenLuo组件中如何设置停靠窗体的宽度的更多相关文章
- 在vue组件中style scoped中遇到的坑
在uve组件中我们我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点.添加scoped之后,实际上vue在背后做的工作是将当前组件的节点添加一个像data-v-1233这样唯 ...
- vue组件中的style scoped中遇到的问题
在uve组件中我们我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点.添加scoped之后,实际上vue在背后做的工作是将当前组件的节点添加一个像data-v-1233这样唯 ...
- Pyqt QDockWidget 停靠窗体
网上的一个关于QDockWidget 停靠窗体的教程 代码: # -*- coding: utf-8 -*- from PyQt4.QtGui import * from PyQt4.QtCore i ...
- DotNetBar中dotNetBarManager设置窗口 实现单文档视图界面
本人想设计一个但文档视图的界面: |--------------------------------------------------------------- | Ribbon Bar |-- ...
- 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体
在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体ShowAllPage sAllPage = new ShowAllPage(); ...
- react 不能往组件中传入属性的值为 undefined
在使用 andt design 的时候遇到个需求,需要清除 Select 组件选中后的值,让它变成什么都没选中,显示 placeholder 刚开始以为设置为 null 即可,结果发现设置为 null ...
- Delphi中实现MDI子窗体(转)
Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容 ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...
- Qt组件中的双缓冲无闪烁绘图
双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图.使用双缓冲,可以减轻绘制的闪烁感.在有些情况下,用户要关闭双缓冲,自己管理绘图.下面的语句设置了窗口部件的Qt::WA_PaintOn ...
- Jqplot在joomla组件中的应用
(1)在com_collect组件中采用的是ajax获取json类型的值.[http://www.jqplot.com/tests/data-renderers.php]这上边有实例. (2)在jqp ...
随机推荐
- vscode调试HTML
使用 live-server npm i -g live-server 注:最好还是把live-server安装成全局,这样在使用时整个项目就是一个站点. Ctrl+` 进入命令行终端 打开帮助提示: ...
- livequery源码解读
从使用说起: 若干年前,有一天发现,通过js代码创建的html元素及ajax加载的html,无法被$([selector]).click(function(){...})绑定上事件,于是发现了jQue ...
- 编译nginx时提示undefined reference to 'pcre_free_study' 的问题及解决
./configure --add-module=../ngx_devel_kit-0.2.19/ --add-module=../lua-nginx-module-0.9.19/ --with-l ...
- Centos6.5 下安装PostgreSQL9.4数据库
一.安装PostgreSQL源 CentOS 6.x 32bit rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-i386/pgdg-cent ...
- Asp.Net Web API 2第十二课——Media Formatters媒体格式化器
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本教程演示如何在ASP.N ...
- 换个角度说工作单元(Unit Of Work):创建、持有与API调用
看到一些工作单元的介绍,有两种感觉,第一种是很学院,说了等于没说,我估计很多都是没有自己引入到实际的项目中去,第二种是告诉我一种结果,说这就是工作单元,但是没说为什么要这么使用.所以,本篇想要探讨的是 ...
- RabbitMQ(一) -- Hello world
RabbitMQ -- Hello world RabbitMQ使用AMQP通信协议(AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同 ...
- python time
Python-time 计算程序运行时间 import time start = time.clock() time.sleep(5) end = time.clock() runtime = end ...
- 移动开发下Xamarin VS PhoneGap
跨平台开发 移动应用开发对很多开发人员来说是一种令人恐惧的事情.许多企业希望能够通过开发移动应用程序,来提升企业业务水平,开发原生App时往往又缺少专业的Objective C 或 Java 移动开发 ...
- 为什么Web 设计会‘死’?
高质量的Web 模板,成熟的Design Pattern,人工智能的引用,移动技术的冲击是否标志着Web Design 结束的时代已经到来? Web Design 最终也未避免与“死亡”这个词的关联, ...