我有一个设置为
的WinForms TabControlMultiline = True
我制作了自己的自定义RowsChanged事件
''' <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
现在我可以注册那个活动了。我想知道,一行的高度,所以我可以做一些大小计算。有什么方法可以阻止这种情况吗?到目前为止,我只计算了像素,这不是很好。
答案 0 :(得分:4)
如注释中所述,您可以使用TabControl.GetTabRect()方法在运行时检索选项卡的边界。请注意,当用户导航选项卡和行交换位置时,它可能会在Multiline选项卡控件上更改。