DrawToolTipEventArgs.Bounds Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the size and location of the ToolTip to draw.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public Rectangle Bounds { get; }

Property Value

Type: System.Drawing.Rectangle

A Rectangle that represents the bounds of the ToolTip to draw.

By default, the bounds are set by the operating system based on system settings and the ToolTip text. You can increase the bounds of the ToolTip before it is shown by handling the PopupPopup event of the ToolTip class.

The following code example demonstrates how to custom draw the ToolTip. The example creates a ToolTip and associates it to three Button controls located on the Form. The example sets the OwnerDraw property to true and handles the Draw event. In the Draw event handler, the ToolTip is custom drawn differently depending on what button the ToolTip is being displayed for as indicated by the DrawToolTipEventArgs.AssociatedControl property.

The code excerpt below demonstrates using the DrawBorder method and using the Bounds, ToolTipText, and Graphics properties. See the DrawToolTipEventArgs class overview for the complete code example.

// Draw a custom background and text if the ToolTip is for button2.
else if (e.AssociatedControl == button2)
    // Draw the custom background.
    e.Graphics.FillRectangle(SystemBrushes.ActiveCaption, e.Bounds);

    // Draw the standard border.

    // Draw the custom text.
    // The using block will dispose the StringFormat automatically.
    using (StringFormat sf = new StringFormat())
        sf.Alignment = StringAlignment.Center;
        sf.LineAlignment = StringAlignment.Center;
        sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None;
        sf.FormatFlags = StringFormatFlags.NoWrap;
        using (Font f = new Font("Tahoma", 9))
            e.Graphics.DrawString(e.ToolTipText, f, 
                SystemBrushes.ActiveCaptionText, e.Bounds, sf);

.NET Framework
Available since 2.0
Return to top