Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird veranschaulicht, wie die ComboBoxRenderer Klasse zum Rendern des Dropdownpfeils eines Kombinationsfeldsteuerelements verwendet wird. Das Beispiel besteht aus der OnPaint-Methode eines einfachen benutzerdefinierten Steuerelements. Die ComboBoxRenderer.IsSupported-Eigenschaft wird verwendet, um zu bestimmen, ob visuelle Stile im Clientbereich von Anwendungsfenstern aktiviert sind. Wenn visuelle Stile aktiv sind, rendert die ComboBoxRenderer.DrawDropDownButton-Methode den Dropdownpfeil mit visuellen Stilen; andernfalls rendert die ControlPaint.DrawComboButton-Methode den Dropdownpfeil im klassischen Windows-Stil.
Beispiel
// Render the drop-down arrow with or without visual styles.
protected:
virtual void OnPaint(PaintEventArgs^ e) override
{
__super::OnPaint(e);
if (!ComboBoxRenderer::IsSupported)
{
ControlPaint::DrawComboButton(e->Graphics,
this->ClientRectangle, ButtonState::Normal);
}
else
{
ComboBoxRenderer::DrawDropDownButton(e->Graphics,
this->ClientRectangle, ComboBoxState::Normal);
}
}
// Render the drop-down arrow with or without visual styles.
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (!ComboBoxRenderer.IsSupported)
{
ControlPaint.DrawComboButton(e.Graphics,
this.ClientRectangle, ButtonState.Normal);
}
else
{
ComboBoxRenderer.DrawDropDownButton(e.Graphics,
this.ClientRectangle, ComboBoxState.Normal);
}
}
' Render the drop-down arrow with or without visual styles.
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
If Not ComboBoxRenderer.IsSupported Then
ControlPaint.DrawComboButton(e.Graphics, _
Me.ClientRectangle, ButtonState.Normal)
Else
ComboBoxRenderer.DrawDropDownButton(e.Graphics, _
Me.ClientRectangle, ComboBoxState.Normal)
End If
End Sub
Kompilieren des Codes
In diesem Beispiel ist Folgendes erforderlich:
Ein benutzerdefiniertes Steuerelement, das aus der Control-Klasse abgeleitet ist.
Ein Form-Steuerelement, die das benutzerdefinierte Steuerelement host.
Verweise auf die Namespaces System, System.Drawing, System.Windows.Forms und System.Windows.Forms.VisualStyles.
Weitere Informationen
.NET Desktop feedback