winform 布局

考虑:
如何让一个或是一组按钮,一直水平居中

选项卡标题文字如何竖着排列

布局属性:
Anchor - 相当于一个锚点一样锁定控件位置.会根据其锚点来变化大小

共四个位置绑定,代表控件距离四个方向的距离,类似于html里的region;

可以每次选定一个锚点,也可以使用多个锚点,使用多个锚点时,控件大小可能会随着容器大小

变化发生变化,[因为锚点是固定的位置,固定距离不会发生变化]


Dock - 件与所在容器绑定.自动调整自身大小, 也有五种方向可以设置,上下左右和填充整个容器(未被站住的)
Location -控件左上角相当于容器左上角的坐标.不会调整自身大小.

  • 控件居中显示:
  • int gLeft = this.Width / 2 - button1.Width / 2; //this指Form
  • int gTop = this.Height / 2 - button1.Height / 2;
  • button1.Location = new Point(gLeft, gTop);

StartPosition属性有这些选项:

  •   CenterParent                     窗体在其父窗体中居中。    
  •   CenterScreen                     窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。    
  •   Manual                           窗体的位置由   Location   属性确定。    
  •   WindowsDefaultBounds     窗体定位在   Windows   默认位置,其边界也由   Windows   默认决定。    
  •   WindowsDefaultLocation    窗体定位在   Windows   默认位置,其尺寸在窗体大小中指定。         
  •    CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

容器:

FlowLayouPanel 普通容器[内部流式布局],就像HTML里的流式布局一样,如果第一行放不下,自动换行。

Groupbox 带有标题的普通容器[内部普通布局,超出范围隐藏]

  还有些凹槽  带便这个容器的范围

Panel 普通容器[内部普通布局,超出范围隐藏]  ,就是用来给单选控件分组的那个

  运行时  虚线不会显示出来。

SplitContainer 一个普通容器内被划分成两个Panel普通容器[默认垂直分割]

通过属性中的行为属性Orientation实现改变垂直分割还是水平分割

TabControl  带有选项卡的容器  可以修改属性控制选项卡在哪个位置,但是再左右两边的话,文字是不会翻转的。

TabLayouPanel 表格型容器 [每个表格只能放置一个控件,但是可以在里面放一个容器,再放好多控件]

 



原文地址:https://www.cnblogs.com/big-lll/p/6793034.html