VB.NET Datagridview帮助自动调整高度大小

VB.NET Datagridview帮助自动调整高度大小,vb.net,visual-studio-2017,Vb.net,Visual Studio 2017,如何使DataGridView1自动调整大小 我想自动调整DataGridView1的高度 我被困在这个问题上: Private Sub Populate() DataGridView1.Rows.Clear() DataGridView1.ColumnCount = 1 DataGridView1.Columns(0).Name = "Device Name" Dim row As String() = New String() {"Samsung Gala

如何使DataGridView1自动调整大小

我想自动调整DataGridView1的高度

我被困在这个问题上:

Private Sub Populate()
    DataGridView1.Rows.Clear()

    DataGridView1.ColumnCount = 1
    DataGridView1.Columns(0).Name = "Device Name"

    Dim row As String() = New String() {"Samsung Galaxy A8"}


    DataGridView1.Rows.Add(row)
End Sub

Private Sub Passwords_Load(sender As Object, e As EventArgs) Handles Me.Load
    Populate()
End Sub

尝试将行的所有高度值相加,然后将其设置为DataGridView的高度

DataGridView1.Height = (DataGridView1.RowCount * DataGridView1.CurrentRow.Height) + DataGridView1.ColumnHeadersHeight
或者,如果您所有的行都有不同的高度,则通过它们循环并合计高度

Dim TotalHeights As Integer = DataGridView1.ColumnHeadersHeight
For Each Row As DataGridViewRow In DataGridView1.Rows
    TotalHeights += Row.Height
Next Row
DataGridView1.Height = TotalHeights
如果已启用滚动条,则会显示滚动条。您可以在组件上禁用它们 或者在你的代码中这样做

DataGridView1.ScrollBars = ScrollBars.None

不走运:基本上,我想做的是将DataGridView1的高度自动调整为生成的rows.height左右。我的rows.Items在formload填充的代码中。对不起,我想我不理解这个问题。是否尝试过获取DGV中每行的高度值并将其相加,然后将其设置为DGV高度?C.循环遍历DGV中的每一行,然后获取TotalRowsHeight+=dgv1.Rows[0]。高度,然后是dgv1.Height=TotalRowsHeights我应该将这些代码放在哪个datagrid事件中?在CellPaint上?最有效的方法是在加载完所有内容之后,或者在调用DataGridView1.Rows.AddThis之后进行加载。现在这非常有用,非常感谢。我们已经遇到了这段代码,但是把它放在了CellPaint中,而不是formload中。