Condividi tramite


ButtonRenderer.DrawButton Metodo

Definizione

Disegna un controllo pulsante.

Overload

DrawButton(Graphics, Rectangle, PushButtonState)

Disegna un controllo pulsante nello stato e nei limiti specificati.

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Disegna un controllo pulsante nello stato e nei limiti specificati, eventualmente con un rettangolo di attivazione.

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con l'immagine specificata ed eventualmente con un rettangolo di attivazione.

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo specificato ed eventualmente con un rettangolo di attivazione.

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo e la formattazione specificati ed eventualmente con un rettangolo di attivazione.

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo e l'immagine specificati ed eventualmente con un rettangolo di attivazione.

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo, la formattazione e l'immagine specificati ed eventualmente con un rettangolo di attivazione.

DrawButton(Graphics, Rectangle, PushButtonState)

Disegna un controllo pulsante nello stato e nei limiti specificati.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

DrawButton(Graphics, Rectangle, Boolean, PushButtonState)

Disegna un controllo pulsante nello stato e nei limiti specificati, eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con l'immagine specificata ed eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

image
Image

Oggetto Image da disegnare sul pulsante.

imageBounds
Rectangle

Oggetto Rectangle che rappresenta le dimensioni di image.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo specificato ed eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

buttonText
String

Oggetto String da disegnare sul pulsante.

font
Font

Oggetto Font da applicare a buttonText.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Esempio

Nell'esempio di codice seguente viene utilizzato il DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) metodo nel metodo di OnPaint un controllo personalizzato per disegnare un pulsante nello stato determinato dalla posizione del puntatore del mouse. Questo esempio di codice fa parte di un esempio più ampio fornito per la 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

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo e la formattazione specificati ed eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

buttonText
String

Oggetto String da disegnare sul pulsante.

font
Font

Oggetto Font da applicare a buttonText.

flags
TextFormatFlags

Combinazione bit per bit dei valori TextFormatFlags da applicare a buttonText.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo e l'immagine specificati ed eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

buttonText
String

Oggetto String da disegnare sul pulsante.

font
Font

Oggetto Font da applicare a buttonText.

image
Image

Oggetto Image da disegnare sul pulsante.

imageBounds
Rectangle

Oggetto Rectangle che rappresenta le dimensioni di image.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a

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

Disegna un controllo pulsante nello stato e nei limiti specificati, con il testo, la formattazione e l'immagine specificati ed eventualmente con un rettangolo di attivazione.

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)

Parametri

g
Graphics

Oggetto Graphics utilizzato per disegnare il pulsante.

bounds
Rectangle

Oggetto Rectangle che specifica i limiti del pulsante.

buttonText
String

Oggetto String da disegnare sul pulsante.

font
Font

Oggetto Font da applicare a buttonText.

flags
TextFormatFlags

Combinazione bit per bit dei valori TextFormatFlags da applicare a buttonText.

image
Image

Oggetto Image da disegnare sul pulsante.

imageBounds
Rectangle

Oggetto Rectangle che rappresenta le dimensioni di image.

focused
Boolean

true per creare un rettangolo di attivazione sul pulsante; in caso contrario, false.

state
PushButtonState

Uno dei valori PushButtonState che specifica lo stato di visualizzazione del pulsante.

Commenti

Se gli stili di visualizzazione sono abilitati nel sistema operativo e gli stili di visualizzazione vengono applicati all'applicazione corrente, questo metodo disegna il pulsante con lo stile di visualizzazione corrente. In caso contrario, disegnare il pulsante con lo stile classico di Windows.

Si applica a