确定TabControl(VB.NET)中TabRow的高度

确定TabControl(VB.NET)中TabRow的高度,vb.net,winforms,tabcontrol,tabpage,multirow,Vb.net,Winforms,Tabcontrol,Tabpage,Multirow,我有一个WinForms设置为 Multiline = True 我自己做了一个划船比赛 ''' <summary> ''' Event that is raised if the rowCount of the control changed. ''' </summary> Public Event RowsChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private Sub

我有一个WinForms设置为

Multiline = True
我自己做了一个划船比赛

''' <summary>
''' Event that is raised if the rowCount of the control changed.
''' </summary>
Public Event RowsChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

Private Sub Me_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.SizeChanged, Me.SelectedIndexChanged, Me.ControlAdded, Me.ControlRemoved
    If rows <> Me.RowCount Then
        rows = Me.RowCount
        RaiseEvent RowsChanged(sender, e)
    End If
End Sub
“”
如果控件的行数更改,则引发的“”事件。
''' 
公共事件行更改(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)
Private Sub Me_SizeChanged(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理Me.SizeChanged、Me.SelectedIndexChanged、Me.ControlAdded、Me.ControlRemoved
如果是rows Me.RowCount那么
rows=Me.RowCount
RaiseEvent行更改(发件人,e)
如果结束
端接头

现在我可以注册参加那个活动了。我想知道,一排的高度,这样我可以做一些尺寸计算。有没有办法阻止这一点?到目前为止,我只计算了像素,这不是很好。

如注释中所述,您可以使用TabControl.GetTabRect()方法在运行时检索选项卡的边界。请注意,当用户在多行选项卡控件上导航选项卡和行交换位置时,它可能会发生更改。

如注释中所述,您可以使用TabControl.GetTabRect()方法在运行时检索选项卡的边界。请注意,当用户在多行选项卡控件上导航选项卡和行交换位置时,它可能会发生更改。

使用TabControl.GetTabRect()方法查找选项卡的位置。GetTabRect(0).Height获取行高。@HansPassant:tested
GetTabRect
approach-这就是解决方案。请发帖回答。@HansPassant:我可以附和Neolik的说法。请添加您的解决方案作为答案。使用TabControl.GetTabRect()方法查找选项卡的位置。GetTabRect(0).Height获取行高。@HansPassant:tested
GetTabRect
approach-这就是解决方案。请发帖回答。@HansPassant:我可以附和Neolik的说法。请添加您的解决方案作为答案。工作起来很有魅力。