TIL

Today I Learned. 知ったこと、学んだことを書いていく

DataGridViewの最後の列が最大横幅よりも小さかったら最大まで広げる - VB.net

''' <summary>
''' <para>最後の列幅が最大横幅よりも小さかったら、最大まで広げる</para>
''' </summary>
Public Sub AutoFillLastColumn()
    ' カラムの横幅の合計値
    Dim colWidthSum As Integer = 0

    For Each col As DataGridViewColumn In Me.DataGridView.Columns
        colWidthSum += col.Width
    Next

    ' 行ヘッダーの横幅も加算する
    colWidthSum += Me.DataGridView.RowHeadersWidth

    ' 表示領域よりも小さいとき、最後の列を横いっぱいに広げる
    If colWidthSum < Me.DataGridView.ClientSize.Width Then
        ' 最後の列
        Dim lastCol As DataGridViewColumn = Me.DataGridView.Columns(Me._dgv.Columns.Count - 1)
        lastCol.AutoSizeMode = DataGridViewAutoSizeColumnsMode.Fill
    End If
End Sub

これ作るのに結構時間かかった...


参考文献

Control.ClientSize プロパティ (System.Windows.Forms)