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.
Aktualisiert: November 2007
In diesem Beispiel wird veranschaulicht, wie die ComboBoxRenderer-Klasse verwendet wird, um den Dropdownpfeil eines Kombinationsfeldsteuerelements wiederzugeben. Das Beispiel umfasst die 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 aktiviert sind, gibt die ComboBoxRenderer.DrawDropDownButton-Methode den Dropdownpfeil mit visuellen Stilen wieder. Andernfalls gibt die ControlPaint.DrawComboButton-Methode den Dropdownpfeil im klassischen Windows-Stil wieder.
Beispiel
' 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
// 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:
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);
}
}
Kompilieren des Codes
Für dieses Beispiel ist Folgendes erforderlich:
Ein benutzerdefiniertes Steuerelement, das von der Control-Klasse abgeleitet ist.
Ein Form, das das benutzerdefinierte Steuerelement hostet.
Verweise auf die Namespaces System, System.Drawing, System.Windows.Forms und System.Windows.Forms.VisualStyles.