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.
Der System.Windows.Forms.VisualStyles-Namespace stellt VisualStyleElement Objekte bereit, die Elemente der Windows-Benutzeroberfläche darstellen, die von visuellen Stilen unterstützt werden. In diesem Thema wird gezeigt, wie Sie die VisualStyleRenderer-Klasse zum Rendern von VisualStyleElement für die Darstellung der Schaltflächen Abmelden und Herunterfahren des Startmenü verwenden.
So rendern Sie ein visuelles Stilelement
Erstellen Sie einen VisualStyleRenderer, und legen Sie ihn auf das Element fest, das Sie darstellen möchten. Beachten Sie die Verwendung der Application.RenderWithVisualStyles-Eigenschaft und der VisualStyleRenderer.IsElementDefined-Methode; Der VisualStyleRenderer-Konstruktor löst eine Ausnahme aus, wenn visuelle Stile deaktiviert sind oder ein Element nicht definiert ist.
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
Rufen Sie die DrawBackground-Methode auf, um das Element zu rendern, welches derzeit von VisualStyleRenderer dargestellt wird.
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
Kompilieren des Codes
In diesem Beispiel ist Folgendes erforderlich:
Ein benutzerdefiniertes Steuerelement, das aus der Control-Klasse abgeleitet ist.
Ein Form-Steuerelement, die das benutzerdefinierte Steuerelement host.
Verweise auf die Namespaces System, System.Drawing, System.Windows.Forms und System.Windows.Forms.VisualStyles.
Weitere Informationen
.NET Desktop feedback