Partilhar via


ButtonRenderer.DrawButton Método

Definição

Desenha um controle de botão.

Sobrecargas

DrawButton(Graphics, Rectangle, PushButtonState)

Desenha um controle de botão no estado e os limites especificados.

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com a imagem especificada e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto especificado e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto e a formatação de texto especificados e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, String, Font, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto e a imagem especificados e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto, a formatação de texto e a imagem especificados e com um retângulo de foco opcional.

DrawButton(Graphics, Rectangle, PushButtonState)

Desenha um controle de botão no estado e os limites especificados.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com a imagem especificada e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Drawing::Image ^ image, System::Drawing::Rectangle imageBounds, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Drawing.Image image, System.Drawing.Rectangle imageBounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * System.Drawing.Image * System.Drawing.Rectangle * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, image As Image, imageBounds As Rectangle, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

image
Image

O Image a ser desenhado no botão.

imageBounds
Rectangle

O Rectangle que representa as dimensões da image.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto especificado e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ buttonText, System::Drawing::Font ^ font, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string buttonText, System.Drawing.Font font, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? buttonText, System.Drawing.Font? font, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, buttonText As String, font As Font, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

buttonText
String

O String a ser desenhado no botão.

font
Font

O Font a ser aplicado a buttonText.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Exemplos

O exemplo de código a seguir usa o DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) método em um método de OnPaint controle personalizado para desenhar um botão no estado determinado pelo local do ponteiro do mouse. Este exemplo de código faz parte de um exemplo maior fornecido para a ButtonRenderer classe.

    // Draw the large or small button, depending on the current state.
protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        __super::OnPaint(e);

        // Draw the smaller pressed button image
        if (state == PushButtonState::Pressed)
        {
            // Set the background color to the parent if visual styles
            // are disabled, because DrawParentBackground will only paint
            // over the control background if visual styles are enabled.
            if (Application::RenderWithVisualStyles)
            {
                this->BackColor = Color::Azure;
            }
            else
            {
                this->BackColor = this->Parent->BackColor;
            }


            // If you comment out the call to DrawParentBackground,
            // the background of the control will still be visible
            // outside the pressed button, if visual styles are enabled.
            ButtonRenderer::DrawParentBackground(e->Graphics,
                ClientRectangle, this);
            ButtonRenderer::DrawButton(e->Graphics, ClickRectangle,
                this->Text, this->Font, true, state);
        }

        // Draw the bigger unpressed button image.
        else
        {
            ButtonRenderer::DrawButton(e->Graphics, ClientRectangle,
                this->Text, this->Font, false, state);
        }
    }

    // Draw the smaller pressed button image.
protected:
    virtual void OnMouseDown(MouseEventArgs^ e) override
    {
        __super::OnMouseDown(e);
        this->Text = "Clicked!";
        state = PushButtonState::Pressed;
        Invalidate();
    }

    // Draw the button in the hot state.
protected:
    virtual void OnMouseEnter(EventArgs^ e) override
    {
        __super::OnMouseEnter(e);
        this->Text = "Click here";
        state = PushButtonState::Hot;
        Invalidate();
    }

    // Draw the button in the unpressed state.
protected:
    virtual void OnMouseLeave(EventArgs^ e) override
    {
        __super::OnMouseLeave(e);
        this->Text = "Click here";
        state = PushButtonState::Normal;
        Invalidate();
    }
// Draw the large or small button, depending on the current state.
protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    // Draw the smaller pressed button image
    if (state == PushButtonState.Pressed)
    {
        // Set the background color to the parent if visual styles  
        // are disabled, because DrawParentBackground will only paint  
        // over the control background if visual styles are enabled.
        this.BackColor = Application.RenderWithVisualStyles ?
            Color.Azure : this.Parent.BackColor;

        // If you comment out the call to DrawParentBackground, 
        // the background of the control will still be visible 
        // outside the pressed button, if visual styles are enabled.
        ButtonRenderer.DrawParentBackground(e.Graphics,
            ClientRectangle, this);
        ButtonRenderer.DrawButton(e.Graphics, ClickRectangle,
            this.Text, this.Font, true, state);
    }

    // Draw the bigger unpressed button image.
    else
    {
        ButtonRenderer.DrawButton(e.Graphics, ClientRectangle,
            this.Text, this.Font, false, state);
    }
}

// Draw the smaller pressed button image.
protected override void OnMouseDown(MouseEventArgs e)
{
    base.OnMouseDown(e);
    this.Text = "Clicked!";
    state = PushButtonState.Pressed;
    Invalidate();
}

// Draw the button in the hot state. 
protected override void OnMouseEnter(EventArgs e)
{
    base.OnMouseEnter(e);
    this.Text = "Click here";
    state = PushButtonState.Hot;
    Invalidate();
}

// Draw the button in the unpressed state.
protected override void OnMouseLeave(EventArgs e)
{
    base.OnMouseLeave(e);
    this.Text = "Click here";
    state = PushButtonState.Normal;
    Invalidate();
}
' Draw the large or small button, depending on the current state.
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    MyBase.OnPaint(e)

    ' Draw the smaller pressed button image.
    If state = PushButtonState.Pressed Then
        ' Set the background color to the parent if visual styles  
        ' are disabled, because DrawParentBackground will only paint  
        ' over the control background if visual styles are enabled.
        If Application.RenderWithVisualStyles Then
            Me.BackColor = Color.Azure
        Else
            Me.BackColor = Me.Parent.BackColor
        End If

        ' If you comment out the call to DrawParentBackground,   
        ' the background of the control will still be visible 
        ' outside the pressed button, if visual styles are enabled.
        ButtonRenderer.DrawParentBackground(e.Graphics, _
            Me.ClientRectangle, Me)
        ButtonRenderer.DrawButton(e.Graphics, ClickRectangle, _
            Me.Text, Me.Font, True, state)

    ' Draw the bigger unpressed button image.
    Else
        ButtonRenderer.DrawButton(e.Graphics, Me.ClientRectangle, _
            Me.Text, Me.Font, False, state)
    End If
End Sub

' Draw the smaller pressed button image.
Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
    MyBase.OnMouseDown(e)
    With Me
        .Text = "Clicked!"
        .state = PushButtonState.Pressed
    End With
    Invalidate()
End Sub

' Draw the button in the hot state. 
Protected Overrides Sub OnMouseEnter(ByVal e As EventArgs)
    MyBase.OnMouseEnter(e)
    With Me
        .Text = "Click here"
        .state = PushButtonState.Hot
    End With
    Invalidate()
End Sub

' Draw the button in the unpressed state.
Protected Overrides Sub OnMouseLeave(ByVal e As EventArgs)
    MyBase.OnMouseLeave(e)
    With Me
        .Text = "Click here"
        .state = PushButtonState.Normal
    End With
    Invalidate()
End Sub

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto e a formatação de texto especificados e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ buttonText, System::Drawing::Font ^ font, System::Windows::Forms::TextFormatFlags flags, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string buttonText, System.Drawing.Font font, System.Windows.Forms.TextFormatFlags flags, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? buttonText, System.Drawing.Font? font, System.Windows.Forms.TextFormatFlags flags, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Windows.Forms.TextFormatFlags * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, buttonText As String, font As Font, flags As TextFormatFlags, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

buttonText
String

O String a ser desenhado no botão.

font
Font

O Font a ser aplicado a buttonText.

flags
TextFormatFlags

Uma combinação bit a bit de valores TextFormatFlags a serem aplicados ao buttonText.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, String, Font, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto e a imagem especificados e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ buttonText, System::Drawing::Font ^ font, System::Drawing::Image ^ image, System::Drawing::Rectangle imageBounds, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string buttonText, System.Drawing.Font font, System.Drawing.Image image, System.Drawing.Rectangle imageBounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? buttonText, System.Drawing.Font? font, System.Drawing.Image image, System.Drawing.Rectangle imageBounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Drawing.Image * System.Drawing.Rectangle * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, buttonText As String, font As Font, image As Image, imageBounds As Rectangle, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

buttonText
String

O String a ser desenhado no botão.

font
Font

O Font a ser aplicado a buttonText.

image
Image

O Image a ser desenhado no botão.

imageBounds
Rectangle

O Rectangle que representa as dimensões da image.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a

DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Image, Rectangle, Boolean, PushButtonState)

Desenha um controle de botão no estado e nos limites especificados, com o texto, a formatação de texto e a imagem especificados e com um retângulo de foco opcional.

public:
 static void DrawButton(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ buttonText, System::Drawing::Font ^ font, System::Windows::Forms::TextFormatFlags flags, System::Drawing::Image ^ image, System::Drawing::Rectangle imageBounds, bool focused, System::Windows::Forms::VisualStyles::PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string buttonText, System.Drawing.Font font, System.Windows.Forms.TextFormatFlags flags, System.Drawing.Image image, System.Drawing.Rectangle imageBounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
public static void DrawButton (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? buttonText, System.Drawing.Font? font, System.Windows.Forms.TextFormatFlags flags, System.Drawing.Image image, System.Drawing.Rectangle imageBounds, bool focused, System.Windows.Forms.VisualStyles.PushButtonState state);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Windows.Forms.TextFormatFlags * System.Drawing.Image * System.Drawing.Rectangle * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit
Public Shared Sub DrawButton (g As Graphics, bounds As Rectangle, buttonText As String, font As Font, flags As TextFormatFlags, image As Image, imageBounds As Rectangle, focused As Boolean, state As PushButtonState)

Parâmetros

g
Graphics

O Graphics usado para desenhar o botão.

bounds
Rectangle

O Rectangle que especifica os limites do botão.

buttonText
String

O String a ser desenhado no botão.

font
Font

O Font a ser aplicado a buttonText.

flags
TextFormatFlags

Uma combinação bit a bit de valores TextFormatFlags a serem aplicados ao buttonText.

image
Image

O Image a ser desenhado no botão.

imageBounds
Rectangle

O Rectangle que representa as dimensões da image.

focused
Boolean

true para desenhar um retângulo de foco no botão; caso contrário, false.

state
PushButtonState

Um dos valores de PushButtonState que especifica o estado visual do botão.

Comentários

Se os estilos visuais estiverem habilitados no sistema operacional e os estilos visuais forem aplicados ao aplicativo atual, esse método desenhará o botão com o estilo visual atual. Caso contrário, ele desenhará o botão com o estilo de Windows clássico.

Aplica-se a