引言

Devexpress给我们提供了更加美观、更加丰富控件,但在学习和使用的同时经常会遇到诸多麻烦。今天在使用Devexpress的LayoutControl控件进行界面控件的布局设计时遇到了如下的麻烦:

1.添加控件后,不知道如何修改控件的尺寸

2.由1引起的不知道如何讲两个控件放在同一行

经过摸索解决了以上问题。首先看我的需求是通过LayoutControl控件设计图1所示的窗体:

图1

下面从该界面的设计过程,说明上面两个问题的解决办法:

1.向窗体中添加LayoutControl控件

在将该控件拖入窗体后,最好立即设置该控件的尺寸和位置,否则修改起来会比较麻烦(准确的说我还不知道怎么修改)。拖入后,在如图2所示的情况下,开始修改尺寸和位置(在这里设置的是填充整个窗体)

图2

2.向LayoutControl中添加控件

(1)添加GroupBox控件名为groupControl1,拖入后如图3所示,控件默认填充整个GroupControl,而且在界面中或者groupControl1的属性中是无法直接修改大小的。
图3
 
(2)隐藏控件的layoutControlItem(Text)。在向LayoutControl中添加控件后,会默认在其左侧添加一个layoutControlItem,隐藏该部分的方法是右键layoutControlItem,点击【Hide Text】,隐藏后如图4所示。
图4                 
 
(3)修改groupControl1的尺寸。
右键layoutControlGroup1(鼠标必须在该控件上右键),在弹出的菜单中点击【CustomizeLayout】→【Layout Tree View】→【layoutControlItem1】,如图5,6所示。
(注意:在添加多个控件后会对应多个layoutControlItem*(*代表序号,1,2,3...),修改某一个控件时,必须找到其对应的layoutControlItem*进行属性的修改)
 
图5
 
图6
 
然后在属性窗口中修改layoutControlItem1的属性:①将SizeConstraintsType设置为Custom;②设置MaxSize的Height为70(MaxSize的Height属性来设置控件的高度,Width属性设置控件的宽),如图7所示。
图7
 
设置完成后groupBox1的高度变为70,,效果如图8下:
图8
 
(4)以相同的方法依次添加正文和附注两个GroupBox控件,添加完成后如图9所示:
图9
 
 
(5)添加两个按钮
在附注GroupBox下面添加两个SimpleButton,添加后两个按钮的宽度默认填充整个LayoutControl,且上下分布,如图10所示:
图10
 
下面将修改两个按钮的尺寸,然后将两个按钮设置为同一行。
①若想将两个按钮并行,必须先修改两个按钮的宽度(两个按钮的宽度和不超过LayoutControl的宽度)。修改按钮尺寸的方法和前面讲到的一样,不再赘述,修改完成后如图11所示:
图11
②将两个按钮并行
鼠标左键点击其中一个按钮所属的layoutControlItem*开始拖动其位置,如图12所示:
图12
 
以上过程解决了引言当中我所遇到的问题。最后向GroupBox控件中再添加其他控件,完成引言当中的需求,结果见图1.
通过这些基本操作进行,可以利用LayoutControl控件进行更复杂的布局设计,有兴趣的可自行研究。
 
 

出处:https://blog.csdn.net/BinGISer/article/details/78020970

============================================================

      C#开发中,软件布局设计,主要用TableLayoutPanel能很好地支持缩放功能,对自身的Label、TextBox等控件支持的很好,是通过这些控件的Anchor属性设为:Top, Bottom, Left, Right、TextAlign属性设为:MiddleCenter来实现缩放和定位的。
      但是VS中自身的控件,样式比较简单和单调。而DEV控件在美观样式设置上更盛一筹。更多的属性支持势必导致DEV控件的使用的复杂。初次使用每个DEV控件都是很费时费力的!
     今天下午研究了半天的LayoutControl的使用,使用原因:1.TableLayoutPanel对DEV控件支持性不够,无法实现缩放控制。2.项目要求使用DEV控件,方便控制样式和改善美观性。
      LayoutControl的使用 :
      1.一般控件使用,直接拉入,如:TextEdit控件拉入后,只需更改 前面的 layoutControlItem的Text属性。
      2.特殊的如空白填充Empty Space Item、Label等特殊的,可以在LayoutControl里右键——》Customize Layout,如下图,将需要控件拉入即可。

3.拉入控件时,注意放置位置和方式,可以通过自己尝试。

出处:https://www.cnblogs.com/wuhenke/archive/2009/09/09/1563592.html

====================================================================

PanelControl是一个控件容器;

通常将LayoutControl结合使用,LayoutControl可以在窗体变大或者变小时,使得LayoutControl的控件能同比变化;

例如:

LayoutControl中的Group可以将控件分组;

右键点击group控件选择Add Control可以添加相应的控件;

像这样:

删除LayoutControl,因为一般我们通常将Dock设置为了Fill,所以很难通过鼠标选择到LayoutControl,通过点击属性栏,我们可以选择当前窗体上的所有控件。

在LayoutControl中添加控件的方式二:

特殊的如空白填充Empty Space Item、Label等特殊的,可以在LayoutControl里右键——》Customize Layout,如下图,将需要控件拉入即可。

layoutControlItem中的一个比较恶心的情况就是,下面这张图所显示的:

文字和包含控件之间的距离很恶心,

解决办法是:

layoutControlItem中有一个TextAlignMode属性,设置为CustomSize,然后设置TextSize的大小就可以了!!!

出处:https://blog.csdn.net/ClearLoveQ/article/details/80990329

===================================================================

首先需求是通过LayoutControl控件设计下图所示的窗体:

从该界面的设计过程

1.向窗体中添加LayoutControl控件

在将该控件拖入窗体后,最好立即设置该控件的尺寸和位置。拖入后,在如下图所示的情况下,开始修改尺寸和位置(在这里设置的是填充整个窗体)

2.向LayoutControl中添加控件

(1)添加DateEdit控件名为dateEdit1,拖入后下图所示,控件默认填充整个DateEdit,而且在界面中或者dateEdit1的属性中是无法直接修改大小的。

(2)修改dateEdit1的尺寸。
右键layoutControlGroup1(鼠标必须在该控件上右键),在弹出的菜单中点击【CustomizeLayout】→【Layout Tree View】→【layoutControlItem4】

然后在属性窗口中修改layoutControlItem1的属性:①将SizeConstraintsType设置为Custom;②设置MaxSize和MinSize(MaxSize的Height属性来设置控件的高度,Width属性设置控件的宽)这两个属性的宽和高,自己试下就知道效果了,如下图所示。

(3) 设置文字到控件的间距,需要设置LayoutControl.OptionsItemText.TextToControlDistance属性。设置该属性之后,里面的每个子控件都按照这个距离显示文字到控件的距离。

(4) 设置各子控件之间的间距,设置子控件的Spacing属性。可以统一设置全方位的间距,也可以单独设置某一个方位的间距。

出处:https://www.cnblogs.com/herojy886/p/8295960.html

==========================================================

设置 LayoutControl中的控件居中:

比如下面的界面,我已经自定义查询按钮的大小(设置方式可参考前面),然后让按钮居中,点击按钮所在的行的空白处,在属性面板中找到ControlAlignment 属性,设置为:MiddleCenter

如果是Label控件,则AppearanceItemCaption  -> TextOptions -> Halignment设置成Center

再给个参考链接:

https://blog.csdn.net/spw55381155/article/details/83339078

https://documentation.devexpress.com/WindowsForms/DevExpress.XtraLayout.LayoutControlGroup.members

Devexpress之LayoutControl的使用及其控件布局设计的更多相关文章

  1. qt ui界面控件布局设计

    1.布局控件简介: 水平布局,里面的控件将水平展示,布局器里面的控件大小若没有固定,其大小将随着布局的大小而自动拉伸.可以通过设置其左(layoutLeftMargin).上(layoutTopMar ...

  2. DevExpress WinForms使用教程:图表控件 - 内置深入查询

    [DevExpress WinForms v18.2下载] 在最新发布的DevExpress WinForms v18.2中,DevExpress WinForms和ASP.NET图表控件引入嵌套系列 ...

  3. CSharpGL(26)在opengl中实现控件布局/渲染文字

    CSharpGL(26)在opengl中实现控件布局/渲染文字 效果图 如图所示,可以将文字.坐标轴固定在窗口的一角. 下载 CSharpGL已在GitHub开源,欢迎对OpenGL有兴趣的同学加入( ...

  4. 用户控件的设计要点 System.Windows.Forms.UserControl

    用户控件的设计要点 最近的项目中有一个瀑布图(彩图)的功能,就是把空间和时间上的点量值以图的形式呈现出来,如下图: X坐标为空间,水平方向的一个像素代表一个空间单位(例如50米) Y坐标为时间,垂直方 ...

  5. React-Native 之控件布局

    Nodejs 一度将前端JS 推到了服务器端,而15年FB的React-Native RN再一次将JS 推到了移动端的开发浪潮中.RN的优势这里不再重复,它是我们这些习惯了服务端.web端开发,而又不 ...

  6. 运用 BoxLayout 进行 Swing 控件布局

    摘自http://www.cnblogs.com/fnlingnzb-learner/p/6008572.html 运用 BoxLayout 进行 Swing 控件布局 对于初学 Java Swing ...

  7. 学习笔记<4>初步控件布局

    一.控件布局基本概念 指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性 二.控件布局两种方法 1.使用布局文件完成控件布局(eclipse可视化拖拽控件实现) 2.在JAVA代码 ...

  8. 利用wtl的CDialogResize自动调整atl ActiveX控件布局

    前言 利用atl 开发activex控件时,如果使用atl复合控件时,acitvex控件上的界面元素不会自动改变大小,如果自己在OnSize中处理每个子控件的布局是一件非常麻烦的事,我们可以借助wtl ...

  9. QT学习记录之控件布局

    作者:朱金灿 来源:http://blog.csdn.net/clever101 想到控件布局就会想到Windows编程中要实现对话框上的控件的合理布局是一件多么艰难的事情.对此QT提出了一个很方便的 ...

随机推荐

  1. JavaScript 实时 全角转半角

    //JavaScript全角字符转半角(参数str为input框输入的内容)var $fullChar2halfChar = function(str) { var result = ''; for ...

  2. centos 远程授权

    centos 远程授权命令 ssh-copy-id root@192.168.15.70

  3. VMware Pro 14.1.2 官方正式版及激活密钥

    热门虚拟机软件VMware Workstation Pro现已更新至14.1.2,14.0主要更新了诸多客户机操作系统版本,此外全面兼容Wind10创建者更新.12.0之后属于大型更新,专门为Win1 ...

  4. memge和saveOrUpdate的区别

    今天做hibernate开发的时候遇到这样一个错误: a different object with the same identifier value was already associated ...

  5. pytorch 读数据接口 制作数据集 data.dataset

    [吐槽] 啊,代码,你这个大猪蹄子 自己写了cifar10的数据接口,跟官方接口load的数据一样, 沾沾自喜,以为自己会写数据接口了 几天之后,突然想,自己的代码为啥有点慢呢,这数据集不大啊 用了官 ...

  6. OO第四次作业

    一.论述测试与正确性论证的差异 我认为论述测试代表从理论的角度来进行运行正确性的判断,而正确性测试则是从实践的角度来看待程序的正确性问题.两者之间有着明显的差异. 正确性论证是仅仅从代码的逻辑结构方面 ...

  7. tomcat下服务启动失败原因

    Tomcat启动成功,输入网址后可以显示小黄猫界面,但是在Tomcat下的服务却启动不成功,显示404(以Jenkins为例,运用多种方式查看原因) 注:1.单启动Tomcat服务是可以启动成功的. ...

  8. 部署Qt应用时候报错0xc000007b

    情况: 在开发环境可以运行,部署到其他电脑无法运行: 排错:百度.谷歌了很多方法不行,后来发现添加了Qt\5.11.0\mingw53_32\bin环境变量,程序执行正常,去掉就报错:猜测估计是dll ...

  9. Java中String类常用方法(字符串中的子字符串的个数)

    重点内容 4种方法: 1.int indexOf(String str)返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str, int startInde ...

  10. java同步和互斥【用具体程序说明】

    java同步和互斥[用具体程序说明]            所有对象都自动含有单一的锁,也就是所有对象都有且只有唯一的锁,所以当某个任务(线程)访问一个类A中含有sycnhronized的方法是,那么 ...