DataGridViewでの列の幅と水平スクロールバーの調整

DataGridViewでの列の幅と水平スクロールバーの調整

DataGridViewで、列の内容に合わせて幅を自動調整している場合、何もデータ表示していない場合は、列の幅が小さくなってしまいます。この場合には、MinimumWidthを設定することによって、回避できます。

例えば、こんな設定になります。

Dim textColumn As New DataGridViewTextBoxColumn()
With textColumn
    .HeaderText = "本文"
    .Name = "本文"
    .MinimumWidth = Me.mainDGV.Width – Me.mainDGV.RowHeadersWidth – (OTHER_COLUMN_WIDTH) – 2
    .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
End With

※OTHER_COLUMN_WIDTHは、本文カラム以外の列の幅
※-2は微調整

DataGridViewAutoSizeColumnMode.Fillを指定した場合には、今度は水平スクロールバーが表示されなくなってしまうので、たぶん、これが良い方法。