Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo usar la clase ComboBoxRenderer para renderizar la flecha desplegable de un control de cuadro combinado. El ejemplo consta del OnPaint método de un control personalizado simple. La ComboBoxRenderer.IsSupported propiedad se usa para determinar si los estilos visuales están habilitados en el área cliente de las ventanas de la aplicación. Si los estilos visuales están activos, el ComboBoxRenderer.DrawDropDownButton método representará la flecha desplegable con estilos visuales; de lo contrario, el ControlPaint.DrawComboButton método representará la flecha desplegable en el estilo clásico de Windows.
Ejemplo
// 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
Compilar el código
Este ejemplo requiere:
Control personalizado derivado de la Control clase .
Un Form que hospeda el control personalizado.
Referencias a los System, System.Drawing, System.Windows.Forms y System.Windows.Forms.VisualStyles espacios de nombres.
Consulte también
.NET Desktop feedback