I have a DataGridView
with 5 columns, with dock = filled
.
I want the last (rightmost) column's width to fill the remaining right side of the form, when the form is maximized.
How can I do that?
I have a DataGridView
with 5 columns, with dock = filled
.
I want the last (rightmost) column's width to fill the remaining right side of the form, when the form is maximized.
How can I do that?
For anyone who is AutoGenerating their columns (or even if you're not), you can call this extension method on your DataGridView
to resize the last column to Fill
C-Sharp:
<!-- language: lang-cs -->public static class Utilities
{
public static void StretchLastColumn(this DataGridView dataGridView)
{
var lastColIndex = dataGridView.Columns.Count - 1;
var lastCol = dataGridView.Columns[lastColIndex];
lastCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
}
Visual Basic:
<!-- language: lang-vb -->Public Module Utilities
<Extension()>
Public Sub StretchLastColumn(ByVal dataGridView As DataGridView)
Dim lastColIndex = dataGridView.Columns.Count - 1
Dim lastCol = dataGridView.Columns.Item(lastColIndex)
lastCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
End Sub
End Module