Esporta (0) Stampa
Espandi tutto

Procedura: eseguire il rendering di un elemento dello stile visivo

Lo spazio dei nomi System.Windows.Forms.VisualStyles espone gli oggetti VisualStyleElement che rappresentano gli elementi dell'interfaccia utente (UI, User Interface) Windows supportati dagli stili visivi. In questo argomento viene illustrato come utilizzare la classe VisualStyleRenderer per eseguire il rendering della classe VisualStyleElement che rappresenta i pulsanti Disconnetti e Chiudi sessione del menu Start.

Per eseguire il rendering di un elemento dello stile visivo

  1. Creare una classe VisualStyleRenderer e impostarla sull'elemento che si desidera disegnare. Si noti l'uso della proprietà System.Windows.Forms.Application.RenderWithVisualStyles e del metodo System.Windows.Forms.VisualStyles.VisualStyleRenderer.IsElementDefined(System.Windows.Forms.VisualStyles.VisualStyleElement): il costruttore VisualStyleRenderer genera un'eccezione se gli stili visivi sono disattivati o un elemento non è definito.

    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);
        }
    }
    
    
  2. Chiamare il metodo DrawBackground per eseguire il rendering dell'elemento rappresentato dalla classe VisualStyleRenderer.

    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);
        }
    }
    
    

Compilazione del codice

L'esempio presenta i seguenti requisiti:

Vedere anche

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft