Porady: używanie klasy renderowania formantu
W tym przykładzie pokazano, jak używać ComboBoxRenderer klasy do renderowania strzałki listy rozwijanej kontrolki pola kombi. Przykład składa się z OnPaint metody prostej kontrolki niestandardowej. Właściwość służy do określania ComboBoxRenderer.IsSupported , czy style wizualne są włączone w obszarze klienta okien aplikacji. Jeśli style wizualizacji są aktywne, ComboBoxRenderer.DrawDropDownButton metoda będzie renderować strzałkę listy rozwijanej ze stylami wizualnymi. W przeciwnym razie ControlPaint.DrawComboButton metoda będzie renderować strzałkę listy rozwijanej w klasycznym stylu systemu Windows.
Przykład
// 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
Kompilowanie kodu
Ten przykład wymaga:
Kontrolka niestandardowa pochodząca Control z klasy .
Element Form hostujący kontrolkę niestandardową.
Odwołania do Systemprzestrzeni nazw , System.Drawing, System.Windows.Formsi System.Windows.Forms.VisualStyles .
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla