ButtonRenderer.DrawButton Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nakreslí ovládací prvek tlačítko.
Přetížení
DrawButton(Graphics, Rectangle, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích. |
DrawButton(Graphics, Rectangle, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, Image, Rectangle, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným obrázkem a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným textem a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným formátováním textu a textem a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, String, Font, Image, Rectangle, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným textem a obrázkem a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Image, Rectangle, Boolean, PushButtonState) |
Nakreslí ovládací prvek tlačítka v zadaném stavu a mezích; se zadaným textem, formátováním textu a obrázkem; a s volitelným obdélníkem fokusu. |
DrawButton(Graphics, Rectangle, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích.
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)
Parametry
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích a s volitelným obdélníkem fokusu.
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)
Parametry
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, Image, Rectangle, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným obrázkem a s volitelným obdélníkem fokusu.
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)
Parametry
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným textem a s volitelným obdélníkem fokusu.
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)
Parametry
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Příklady
Následující příklad kódu používá metodu DrawButton(Graphics, Rectangle, String, Font, Boolean, PushButtonState) v metodě vlastního ovládacího prvku OnPaint k nakreslení tlačítka ve stavu určeném umístěním ukazatele myši. Tento příklad kódu je součástí většího příkladu ButtonRenderer pro třídu .
// 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
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným formátováním textu a textem a s volitelným obdélníkem fokusu.
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)
Parametry
- flags
- TextFormatFlags
Bitové kombinace hodnot, které TextFormatFlags se mají použít pro buttonText
.
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, String, Font, Image, Rectangle, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítko v zadaném stavu a mezích, se zadaným textem a obrázkem a s volitelným obdélníkem fokusu.
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)
Parametry
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.
Platí pro
DrawButton(Graphics, Rectangle, String, Font, TextFormatFlags, Image, Rectangle, Boolean, PushButtonState)
Nakreslí ovládací prvek tlačítka v zadaném stavu a mezích; se zadaným textem, formátováním textu a obrázkem; a s volitelným obdélníkem fokusu.
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)
Parametry
- flags
- TextFormatFlags
Bitové kombinace hodnot, které TextFormatFlags se mají použít pro buttonText
.
- focused
- Boolean
true
nakreslit obdélník fokusu na tlačítko; v opačném případě . false
- state
- PushButtonState
Jedna z PushButtonState hodnot, která určuje vizuální stav tlačítka.
Poznámky
Pokud jsou v operačním systému povoleny vizuální styly a vizuální styly jsou použity v aktuální aplikaci, tato metoda nakreslí tlačítko s aktuálním vizuálním stylem. V opačném případě nakreslí tlačítko s klasickým stylem Windows.