ButtonRenderer.DrawButton Método

Definición

Dibuja un control de botón.Draws a button control.

Sobrecargas

DrawButton(Graphics, Rectangle, PushButtonState)

Dibuja un control de botón en el estado especificado y con los límites indicados.Draws a button control in the specified state and bounds.

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Dibuja un control de botón en el estado especificado y con los límites indicados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds, and with an optional focus rectangle.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con la imagen especificada y con un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified image, and with an optional focus rectangle.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto especificado y un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text, and with an optional focus rectangle.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto y el formato de texto especificados, y con un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text and text formatting, and with an optional focus rectangle.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto y la imagen especificados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text and image, and with an optional focus rectangle.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto, el formato de texto y la imagen especificados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds; with the specified text, text formatting, and image; and with an optional focus rectangle.

DrawButton(Graphics, Rectangle, PushButtonState)

Dibuja un control de botón en el estado especificado y con los límites indicados.Draws a button control in the specified state and bounds.

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

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Dibuja un control de botón en el estado especificado y con los límites indicados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds, and with an optional focus rectangle.

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

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con la imagen especificada y con un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified image, and with an optional focus rectangle.

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

Parámetros

g
Graphics

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

image
Image

Image que se va a dibujar en el botón.The Image to draw on the button.

imageBounds
Rectangle

Objeto Rectangle que representa las dimensiones de image.The Rectangle that represents the dimensions of image.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto especificado y un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text, and with an optional focus rectangle.

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);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit

Parámetros

g
Graphics

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

buttonText
String

String que se va a dibujar en el botón.The String to draw on the button.

font
Font

Font que se va a aplicar a buttonText.The Font to apply to buttonText.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Ejemplos

En el ejemplo de código siguiente DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) se usa el método en el OnPaint método de un control personalizado para dibujar un botón en el estado determinado por la ubicación del puntero del mouse.The following code example uses the DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) method in a custom control's OnPaint method to draw a button in the state determined by the location of the mouse pointer. Este ejemplo de código forma parte de un ejemplo más extenso proporcionado ButtonRenderer para la clase.This code example is part of a larger example provided for the ButtonRenderer class.

    // 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

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto y el formato de texto especificados, y con un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text and text formatting, and with an optional focus rectangle.

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);
static member DrawButton : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Windows.Forms.TextFormatFlags * bool * System.Windows.Forms.VisualStyles.PushButtonState -> unit

Parámetros

g
Graphics

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

buttonText
String

String que se va a dibujar en el botón.The String to draw on the button.

font
Font

Font que se va a aplicar a buttonText.The Font to apply to buttonText.

flags
TextFormatFlags

Combinación bit a bit de los valores de TextFormatFlags que se van a aplicar a buttonText.A bitwise combination of the TextFormatFlags values to apply to buttonText.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto y la imagen especificados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds, with the specified text and image, and with an optional focus rectangle.

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);
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

Parámetros

g
Graphics

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

buttonText
String

String que se va a dibujar en el botón.The String to draw on the button.

font
Font

Font que se va a aplicar a buttonText.The Font to apply to buttonText.

image
Image

Image que se va a dibujar en el botón.The Image to draw on the button.

imageBounds
Rectangle

Objeto Rectangle que representa las dimensiones de image.The Rectangle that represents the dimensions of image.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

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

Dibuja un control de botón en el estado especificado y con los límites indicados, junto con el texto, el formato de texto y la imagen especificados, además de un rectángulo de foco opcional.Draws a button control in the specified state and bounds; with the specified text, text formatting, and image; and with an optional focus rectangle.

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);
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

Parámetros

g
Graphics

Control Graphics que se utiliza para dibujar el botón.The Graphics used to draw the button.

bounds
Rectangle

Control Rectangle que especifica los límites del botón.The Rectangle that specifies the bounds of the button.

buttonText
String

String que se va a dibujar en el botón.The String to draw on the button.

font
Font

Font que se va a aplicar a buttonText.The Font to apply to buttonText.

flags
TextFormatFlags

Combinación bit a bit de los valores de TextFormatFlags que se van a aplicar a buttonText.A bitwise combination of the TextFormatFlags values to apply to buttonText.

image
Image

Image que se va a dibujar en el botón.The Image to draw on the button.

imageBounds
Rectangle

Objeto Rectangle que representa las dimensiones de image.The Rectangle that represents the dimensions of image.

focused
Boolean

true para dibujar un rectángulo de foco en el botón; de lo contrario, false.true to draw a focus rectangle on the button; otherwise, false.

state
PushButtonState

Uno de los valores de PushButtonState que especifica el estado visual del botón.One of the PushButtonState values that specifies the visual state of the button.

Comentarios

Si los estilos visuales están habilitados en el sistema operativo y los estilos visuales se aplican a la aplicación actual, este método dibujará el botón con el estilo visual actual.If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the button with the current visual style. De lo contrario, dibujará el botón con el estilo clásico de Windows.Otherwise, it will draw the button with the classic Windows style.

Se aplica a