C# TableLayoutPanel控件
|
admin
2024年1月13日 17:11
本文热度 509
|
摘要
TableLayoutPanel 在网格中排列内容,提供类似于 HTML <table> 元素的功能。 TableLayoutPanel 控件允许你将控件放在网格布局中,而无需精确指定每个控件的位置。 其单元格排列为行和列,并且这些行和列可具有不同的大小。 可以跨行和列合并单元格。 单元格可以包含窗体所能包含的任何内容,并且在大多数其他方面都可以作为容器使用。
TableLayoutPanel 控件还在运行时提供按比例调整大小的功能,因此你的布局可以在窗体调整大小时平滑地进行更改。 这使得 TableLayoutPanel 控件非常适合数据输入窗体和本地化应用程序等用途。
正文
属性
|
|
---|
ColumnCount | 获取或设置表中允许的最大列数。 |
ColumnStyles | 获取 TableLayoutPanel 的列样式的集合。 |
GrowStyle | 获取或设置一个值,该值指示当现有的所有单元格都被占用时,TableLayoutPanel 控件是否应该扩展以容纳新单元格。 |
RowCount | 获取或设置表中允许的最大行数。 |
RowStyles | 获取 TableLayoutPanel 的行样式的集合。 |
CellBorderStyle | 获取或设置单元格边框的样式。 |
方法
|
|
---|
GetRow(Control) | 返回指定子控件的行位置。 |
GetRowHeights() | 返回一个数组,该数组表示 TableLayoutPanel 中的行的高度(以像素为单位)。 |
GetRowSpan(Control) | 返回指定子控件跨的行数。 |
GetColumn(Control) | 返回指定子控件的列位置。 |
GetColumnSpan(Control) | 返回指定子控件跨的列数。 |
GetColumnWidths() | 返回一个数组,该数组表示 TableLayoutPanel 中的列的宽度(以像素为单位)。 |
SetCellPosition(Control, TableLayoutPanelCellPosition) | 设置表示单元格的行号和列号的 TableLayoutPanelCellPosition。 |
SetColumn(Control, Int32) | 设置指定子控件的列位置。 |
SetColumnSpan(Control, Int32) | 设置子控件跨的列数。 |
SetRow(Control, Int32) | 设置指定子控件的行位置。 |
SetRowSpan(Control, Int32) | 设置子控件跨的行数。 |
设计界面
CellBorderStyle
|
|
|
---|
Inset | 2 | 单线凹陷边框。 |
InsetDouble | 3 | 双线凹陷边框。 |
None | 0 | 无边框。 |
Outset | 4 | 单线凸起边框。 |
OutsetDouble | 5 | 双线凸起边框。 |
OutsetPartial | 6 | 包含凸起部分的单线边框。 |
Single | 1 | 单行边框。 |
若要在Cell
运行时设置、Column
、Row
、ColumnSpan
和RowSpan
属性,请使用 SetCellPosition、SetColumn、、 SetRowSetColumnSpan和SetRowSpan方法。
若要在运行时读取Cell
、、ColumnSpan``Row
、和RowSpan
属性,请使用 GetCellPosition、Column
GetColumn、GetRow、 GetColumnSpan和GetRowSpan方法。
将按钮控件添加到Table的1列2行
修改Table中控件的位置
private void btnSetPostion_Click(object sender, EventArgs e){ tableLayoutPanel1.Controls.Add(btnSetPostion, 1, 2);}private void btnModifyUser_Click(object sender, EventArgs e){ tableLayoutPanel1.SetCellPosition(txtUser, new TableLayoutPanelCellPosition() { Column = 1, Row = 2, });}
设置跨列或行显示ColumnSpan
该文章在 2024/1/13 17:11:53 编辑过