I need a tooltip with a custom font.
I have the following code and it works ... but the size of the tooltip does not match the text.
Where is the mistake?
Public Class KeolisTooltip Inherits ToolTip Sub New() MyBase.New() Me.OwnerDraw = True AddHandler Me.Draw, AddressOf OnDraw End Sub Private _Font As Font Public Property Font() As Font Get Return _Font End Get Set(ByVal value As Font) _Font = value End Set End Property Public Sub New(ByVal Cont As System.ComponentModel.IContainer) MyBase.New(Cont) Me.OwnerDraw = True AddHandler Me.Draw, AddressOf OnDraw End Sub Private Sub OnDraw(ByVal sender As Object, ByVal e As DrawToolTipEventArgs) Dim newArgs As DrawToolTipEventArgs If _Font Is Nothing Then newArgs = e Else Dim newSize As Size = Size.Round(e.Graphics.MeasureString(e.ToolTipText, Me._Font)) Dim newBounds As New Rectangle(e.Bounds.Location, newSize) newArgs = New DrawToolTipEventArgs( _ e.Graphics, _ e.AssociatedWindow, _ e.AssociatedControl, _ newBounds, _ e.ToolTipText, _ Me.BackColor, _ Me.ForeColor, _ Me._Font) End If newArgs.DrawBackground() newArgs.DrawBorder() newArgs.DrawText() End Sub End Class
source share