65.9K
CodeProject 正在变化。 阅读更多。
Home

调整 DataGrid 列以适应窗体大小调整(使用 ParamArray)

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.05/5 (8投票s)

2004年4月9日

viewsIcon

56858

downloadIcon

739

自动处理调整网格宽度

引言

基于用户调整窗体大小自动调整列宽并不是一个好的方法。 但是,通过本文,将解释如何使用单个函数调整网格列宽。

“GridResizeColumns”过程

“GridResizeColumns”函数将在您调整 VB 窗体大小时调整列宽。 此过程将支持 VB6 和 VB.NET 应用程序。

参数

列出了四个参数

1. DataGridView - 控件 - 这将是您的网格控件名称

2. FixedTotalWidth - Double - 这将是您的总固定网格宽度(例如,您可能希望在网格中保留一个固定大小的复选框。)

3. StartCol - Integer - 这标识您要开始调整的列

4. ColumnWidthInPercent() - ParamArray & Double - 您可以为每个列分配百分比大小。

示例代码

以下是“GridResizeColumns”过程的示例代码。 您也可以下载完整的源代码。

 
Private Sub GridResizeColumns(ByVal DataGridView As Control,_
ByVal FixedTotalWidth As Double, _
ByVal StartCol As Integer,_
ByVal ParamArray ColumnWidthInPercent() As Double) Dim TotalGridWidth As Long Dim intIndex As Integer Dim PercentColWidth As Integer On Error GoTo ErrHandler With DataGridView1 'Exclusing Fixed column width TotalGridWidth = DataGridView.Width - FixedTotalWidth .ScrollBars = flexScrollBarVertical For Each PercentColWidth In ColumnWidthInPercent .Columns(StartCol).Width = (PercentColWidth / 100) * TotalGridWidth StartCol = StartCol + 1 Next .Refresh() End With Exit Sub ErrHandler: Exit Sub End Sub

示例

GridResizeColumns(MyDataGridView1, 0, 0, 25, 25, 25, 25)

© . All rights reserved.