Поделиться через


DrawToolTipEventArgs.Graphics Свойство

Определение

Получает графическую поверхность, которая используется для рисования элемента ToolTip.

public:
 property System::Drawing::Graphics ^ Graphics { System::Drawing::Graphics ^ get(); };
public System.Drawing.Graphics Graphics { get; }
member this.Graphics : System.Drawing.Graphics
Public ReadOnly Property Graphics As Graphics

Значение свойства

Graphics для рисования ToolTip.

Примеры

В следующем примере кода показано, как настроить рисование ToolTip. В примере создается ToolTip и связывается с тремя Button элементами управления, расположенными в Form. В примере свойству OwnerDraw присваивается значение true и обрабатывается Draw событие . В обработчике Draw событий настраивается по-разному в зависимости от того, ToolTip для какой кнопки ToolTip отображается , как указано в свойстве DrawToolTipEventArgs.AssociatedControl .

В приведенном ниже фрагменте кода демонстрируется использование DrawText методов и DrawBackground и использование Graphics свойства . Полный DrawToolTipEventArgs пример кода см. в обзоре класса.

// Draw a custom 3D border if the ToolTip is for button1.
if ( e->AssociatedControl == button1 )
{
   // Draw the standard background.
   e->DrawBackground();
   
   // Draw the custom border to appear 3-dimensional.
   array<Point>^ temp1 = {Point(0,e->Bounds.Height - 1),Point(0,0),Point(e->Bounds.Width - 1,0)};
   e->Graphics->DrawLines( SystemPens::ControlLightLight, temp1 );
   array<Point>^ temp2 = {Point(0,e->Bounds.Height - 1),Point(e->Bounds.Width - 1,e->Bounds.Height - 1),Point(e->Bounds.Width - 1,0)};
   e->Graphics->DrawLines( SystemPens::ControlDarkDark, temp2 );
   
   // Specify custom text formatting flags.
   TextFormatFlags sf = static_cast<TextFormatFlags>(TextFormatFlags::VerticalCenter | TextFormatFlags::HorizontalCenter | TextFormatFlags::NoFullWidthCharacterBreak);
   
   // Draw the standard text with customized formatting options.
   e->DrawText( sf );
}
// Draw a custom 3D border if the ToolTip is for button1.
if (e.AssociatedControl == button1)
{
    // Draw the standard background.
    e.DrawBackground();

    // Draw the custom border to appear 3-dimensional.
    e.Graphics.DrawLines(SystemPens.ControlLightLight, new Point[] {
        new Point (0, e.Bounds.Height - 1), 
        new Point (0, 0), 
        new Point (e.Bounds.Width - 1, 0)
    });
    e.Graphics.DrawLines(SystemPens.ControlDarkDark, new Point[] {
        new Point (0, e.Bounds.Height - 1), 
        new Point (e.Bounds.Width - 1, e.Bounds.Height - 1), 
        new Point (e.Bounds.Width - 1, 0)
    });

    // Specify custom text formatting flags.
    TextFormatFlags sf = TextFormatFlags.VerticalCenter |
                         TextFormatFlags.HorizontalCenter |
                         TextFormatFlags.NoFullWidthCharacterBreak;

    // Draw the standard text with customized formatting options.
    e.DrawText(sf);
}
' Draw a custom 3D border if the ToolTip is for button1.
If (e.AssociatedControl Is button1) Then
    ' Draw the standard background.
    e.DrawBackground()

    ' Draw the custom border to appear 3-dimensional.
    e.Graphics.DrawLines( _
        SystemPens.ControlLightLight, New Point() { _
        New Point(0, e.Bounds.Height - 1), _
        New Point(0, 0), _
        New Point(e.Bounds.Width - 1, 0)})
    e.Graphics.DrawLines( _
        SystemPens.ControlDarkDark, New Point() { _
        New Point(0, e.Bounds.Height - 1), _
        New Point(e.Bounds.Width - 1, e.Bounds.Height - 1), _
        New Point(e.Bounds.Width - 1, 0)})

    ' Specify custom text formatting flags.
    Dim sf As TextFormatFlags = TextFormatFlags.VerticalCenter Or _
                         TextFormatFlags.HorizontalCenter Or _
                         TextFormatFlags.NoFullWidthCharacterBreak

    ' Draw standard text with customized formatting options.
    e.DrawText(sf)

Комментарии

Объект используется для Graphics настройки рисования определенных визуальных ToolTipаспектов . Например, можно нарисовать собственный фон подсказки с помощью Graphics.FillRectangle метода .

Любой пользовательский рисунок, выполненный за пределами прямоугольника, указанного свойством Bounds , не будет отображаться. Вы можете увеличить границы ToolTip , прежде чем он будет отображаться, обрабатывая ToolTip.Popup событие .

Класс DrawToolTipEventArgs также предоставляет DrawBackgroundметоды и DrawBorder для DrawText рисования отдельных ToolTip частей класса стандартным способом, используемым операционной системой. Эти методы вместе с объектными методами Graphics можно использовать для создания некоторых частей стандарта ToolTip при одновременной настройке других частей.

Применяется к