Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How the Rightmost column of a DataGridView could fill the remaining part of the form?

Tags:

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?

like image 321
alexxx Avatar asked Sep 09 '11 07:09

alexxx


2 Answers

Set the AutoSizeMode of the (rightmost) column to Fill

like image 170
Stephan Bauer Avatar answered Oct 18 '22 09:10

Stephan Bauer


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:

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:

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 
like image 33
KyleMit Avatar answered Oct 18 '22 08:10

KyleMit