DataGridView的最右列如何填充表单的剩余部分?

ale*_*xxx 19 c# winforms

我有一个DataGridView5列,有dock = filled.

当表单最大化时,我希望最后(最右边)列的宽度填充表单的剩余右侧.

我怎样才能做到这一点?

Ste*_*uer 35

AutoSizeMode(最右边)列设置为Fill


Kyl*_*Mit 9

对于AutoGenerating其列(或者即使您不是)的任何人,您可以调用此扩展方法DataGridView来调整最后一列的大小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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)