WinForm布局

Posted 张鑫4477

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm布局相关的知识,希望对你有一定的参考价值。

1.布局属性

(1)Anchor  相当于一个锚点一样锁定控件位置.会根据其锚点来变化大小

共四个位置绑定:

  • 上部锚点[距离顶部距离固定]
  • 底部锚点[距离底部距离固定]
  • 左侧锚点[距离左侧距离固定]
  • 右侧锚点[距离右侧距离固定]

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

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

(2)Dock 控件与所在容器绑定.自动调整自身大小.

可实现绑定:

  • 顶部 
  • 底部             
  • 左侧               
  • 右侧               
  • 填充整个容器

(3)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);

(4)StartPosition属性有如下选项,分别含义如下:

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

2.容器

(1)FlowLayouPanel 普通容器[内部流式布局]

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

(3)Panel 普通容器[内部普通布局,超出范围隐藏]

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

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

(5)TabControl  带有选项卡的容器

(6)TabLayouPanel 表格型容器 [每个表格只能放置一个控件]

 

以上是关于WinForm布局的主要内容,如果未能解决你的问题,请参考以下文章

C# winform布局 适应多种分辨率

WinForm响应式布局设计实践

WinForm组合布局属性

Winform布局方式

Winform布局方式

winform窗体——布局方式