DataGridView
列按设计比例自动调整
'1.
每列的原始大小在设计时定好,
列的
AutosizeMode
为
NotSet
(默认就是这个,
不要改动即可
)
'2.
为防止某些列缩短后宽度不够,
变得难看,
可以给列定义最小宽度值,
即
MinimumWidth
的值
,
此值一般设置到可以刚好显示整个标题即可。
'3.
设计时设置
datagridview
的话
AutoSizeColumnsMode
为
none
(默认就是这个)
'4.
设置
DatatGridview
的
Anch
属性
(
左边及右边与窗体保持一致)或者
Dock
属性为
(fill),
这样
datagridview
就会随窗体大小变化而变化
'
以上向点在设计时就定好,在设计时要定的美观,然后在
form load
时执行以下代码即可。
Dim
totalWidth
As
Integer
= 0
For
i
As
Integer
= 0
To
dgItems.ColumnCount - 1
Dim
column
As
DataGridViewColumn
= dgItems.Columns(i)
totalWidth += column.Width
Next
'
以下是设置每列宽度的百分比
For
i
As
Integer
= 0
To
dgItems.ColumnCount - 1
Dim
column
As
DataGridViewColumn
= dgItems.Columns(i)
'FillWeight
属性表示此列占控件总宽度的百分比
.
column.FillWeight = column.Width / totalWidth
Next
Me
.dgItems.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode
.Fill