如何在DataGridView中获取实际行的高度?

时间:2019-02-15 20:44:02

标签: vb.net datagridview row height

我正在使用TabControl在每个选项卡中插入DataGridView。 DGV的第一列是ButtonCollumn,我正在尝试通过使用行的高度来更改每个DGV的第一列中所有单元格的填充(以便所有按钮可以具有相同的大小),但是高度是与所示的不同。它对于第一个选项卡正确运行,但对其他选项卡无效。

我尝试在代码中的不同位置进行填充的更改,以防高度尚未设置,但什么都没有更改。

我已将网格的RowTemplate设置为最小值。当我查看除第一个选项卡以外的任何其他选项卡的每一行的高度时,都会看到相同的最小值。因此,最后,填充错误并且按钮过大。

我认为可能是因为当时DGV尚未绘制,所以尚未设置大小,但是第一个Tab使我相信。

这是我的填充代码,如果有帮助的话:

For each tp As TabPage In  Me.TabControl1.TabPages

    Dim dgv As DataGridView = tp.Controls(0)

        For each row as DataGridViewRow In dgv.Rows
            dim h As integer = row.Height
            row.Cells(0).Style.Padding = New Padding(12,
                                                     Math.Ceiling((h -24)/2),
                                                     12,
                                                     Math.Floor((h -24)/2))
            row.Cells(0).Value = h     ' For debbuging purpose
    Next
Next    

修改:

创建DGV时,AutoSizeRowsMode设置为AllCellsWrapMode设置为True。 (如果此信息有帮助)

0 个答案:

没有答案