WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。.
有一组控件叫容器控件,对布局特别有作用,它们分别是:TableLayoutPanel:表格布局面板,每个单元格都可以用来作为其他控件的载体,通过设置行或列的是一个以行和列的大小型来确定每个单元格所占的大小
FlowLayoutPanel:流式布局面板,按照放上去的控件的顺序来依次呈现控件,可以通过修改FlowDirection来改烃排布的方向
SplitContainer:分隔面板,可以上下,或左右来布局这两个面板
TabControl:是半隐藏式的多面板容器控件,可以通过切换tab来显示对应的面板
它们是作为其他控件的载体,用来形成一组,或一个区域的母板。
Anchor:锚定属性,设置一个控件边缘锚定状态,默认为左上锚定
Dock:依靠属性,设置控件本身靠父容器控件的那个边缘依靠
AutoSizeMode:当AutoSize=true时有效,是控件的自动适应大小的模式,有只增的,有又增又减的
1、上部放置一个TableLayoutPanel控件,可以通过RowCount和ColumnCount来更改行列,通过编辑Columns和Rows中的大小类型为百分比,设置成一样的百分比。
2、每个单元格放Label,Dock=Left,再放TextBox,Dock=File,或者Archor=Top,Bottom,Left,Right
3、下部放DataGridView,Dock=Fill
这样布局就能和所在窗体缩放时跟随。
1、上部放置一个FlowLayoutPanel
2、在里面放置一个Panel,再在Panel中放Label,Dock=Left,再放TextBox,Dock=File,或者Archor=Top,Bottom,Left,Right
4、下部放DataGridView,Dock=Fill
布局是个熟练活儿,要熟悉不同的控件的布局属性,灵活组合,就能达到想要的效果。