Procedura: eseguire il rendering di un elemento dello stile visivo
Lo System.Windows.Forms.VisualStyles spazio dei nomi espone VisualStyleElement oggetti che rappresentano gli elementi dell'interfaccia utente di Windows supportati dagli stili di visualizzazione. In questo argomento viene illustrato come utilizzare la classe per eseguire il VisualStyleRenderer rendering dell'oggetto VisualStyleElement che rappresenta i pulsanti Disconnetti e Arresta del menu Start.
Per eseguire il rendering di un elemento dello stile di visualizzazione
Creare un oggetto VisualStyleRenderer e impostarlo sull'elemento che si desidera disegnare. Si noti l'uso della Application.RenderWithVisualStyles proprietà e del VisualStyleRenderer.IsElementDefined metodo . Il VisualStyleRenderer costruttore genererà un'eccezione se gli stili di visualizzazione sono disabilitati o se un elemento non è definito.
private: VisualStyleRenderer^ renderer; VisualStyleElement^ element; public: CustomControl() { this->Location = Point(50, 50); this->Size = System::Drawing::Size(200, 200); this->BackColor = SystemColors::ActiveBorder; this->element = VisualStyleElement::StartPanel::LogOffButtons::Normal; if (Application::RenderWithVisualStyles && VisualStyleRenderer::IsElementDefined(element)) { renderer = gcnew VisualStyleRenderer(element); } }
private VisualStyleRenderer renderer = null; private readonly VisualStyleElement element = VisualStyleElement.StartPanel.LogOffButtons.Normal; public CustomControl() { this.Location = new Point(50, 50); this.Size = new Size(200, 200); this.BackColor = SystemColors.ActiveBorder; if (Application.RenderWithVisualStyles && VisualStyleRenderer.IsElementDefined(element)) { renderer = new VisualStyleRenderer(element); } }
Private renderer As VisualStyleRenderer = Nothing Private element As VisualStyleElement = _ VisualStyleElement.StartPanel.LogOffButtons.Normal Public Sub New() Me.Location = New Point(50, 50) Me.Size = New Size(200, 200) Me.BackColor = SystemColors.ActiveBorder If Application.RenderWithVisualStyles And _ VisualStyleRenderer.IsElementDefined(element) Then renderer = New VisualStyleRenderer(element) End If End Sub
Chiamare il metodo per eseguire il DrawBackground rendering dell'elemento attualmente rappresentato dall'oggetto VisualStyleRenderer .
protected: virtual void OnPaint(PaintEventArgs^ e) override { // Draw the element if the renderer has been set. if (renderer != nullptr) { renderer->DrawBackground(e->Graphics, this->ClientRectangle); } // Visual styles are disabled or the element is undefined, // so just draw a message. else { this->Text = "Visual styles are disabled."; TextRenderer::DrawText(e->Graphics, this->Text, this->Font, Point(0, 0), this->ForeColor); } }
protected override void OnPaint(PaintEventArgs e) { // Draw the element if the renderer has been set. if (renderer != null) { renderer.DrawBackground(e.Graphics, this.ClientRectangle); } // Visual styles are disabled or the element is undefined, // so just draw a message. else { this.Text = "Visual styles are disabled."; TextRenderer.DrawText(e.Graphics, this.Text, this.Font, new Point(0, 0), this.ForeColor); } }
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) ' Draw the element if the renderer has been set. If (renderer IsNot Nothing) Then renderer.DrawBackground(e.Graphics, Me.ClientRectangle) ' Visual styles are disabled or the element is undefined, ' so just draw a message. Else Me.Text = "Visual styles are disabled." TextRenderer.DrawText(e.Graphics, Me.Text, Me.Font, _ New Point(0, 0), Me.ForeColor) End If End Sub
Compilazione del codice
L'esempio presenta i requisiti seguenti:
Controllo personalizzato derivato dalla Control classe .
Oggetto Form che ospita il controllo personalizzato.
Riferimenti agli spazi dei Systemnomi , System.DrawingSystem.Windows.Forms, e System.Windows.Forms.VisualStyles .
Vedi anche
.NET Desktop feedback