Postupy: Použití třídy vykreslující ovládací prvek
Tento příklad ukazuje, jak pomocí ComboBoxRenderer třídy vykreslit šipku rozevíracího seznamu ovládacího prvku pole se seznamem. Příklad se skládá z OnPaint metody jednoduchého vlastního ovládacího prvku. Tato ComboBoxRenderer.IsSupported vlastnost se používá k určení, zda jsou styly vizuálů povoleny v klientské oblasti oken aplikací. Pokud jsou vizuální styly aktivní, ComboBoxRenderer.DrawDropDownButton metoda vykreslí šipku rozevíracího seznamu s vizuálními styly. Jinak ControlPaint.DrawComboButton metoda vykreslí šipku rozevíracího seznamu v klasickém stylu Windows.
Příklad
// 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
Probíhá kompilace kódu
Tento příklad vyžaduje:
Vlastní ovládací prvek odvozený z Control třídy.
A Form , který je hostitelem vlastního ovládacího prvku.
Odkazy na obory Systemnázvů , , System.DrawingSystem.Windows.Formsa System.Windows.Forms.VisualStyles obory názvů.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro