2011-04-06 13 views
6

C'è un modo per modificare il colore di sfondo di un controllo struttura a schede in Winforms, in modo che non abbia il bordo bianco attorno ad esso?Come si modifica il colore di sfondo del controllo struttura a schede in Winforms?

Ho provato diversi modi, ma tutti hanno lo stesso bordo bianco visualizzato.

+1

No, ottieni i colori del tema. È possibile disattivare gli stili visivi per il controllo, ma questo lo riconduce al grigio-corazzato, ancora senza un modo per cambiarlo. –

risposta

6

L'unico modo per ottenere questo risultato è disegnare il controllo tabulazioni stesso.

Here's an example su CodeProject.com

1

TabControl ha il supporto molto scarsa per la personalizzazione. Ho usato this custom tab control con un buon successo. Il codice è abbastanza utilizzabile se si desidera modificare l'aspetto come ho fatto io.

1

Più facile ancora (IMO):. Aggiungere un gestore vernice al TabPage (non TabControl livello superiore, ma il TabPage (s) all'interno di esso, poi dipingere il rettangolo di sfondo e il colore che si desidera

  1. Sia nella finestra di progettazione o "a mano", aggiungere un gestore di eventi vernice al TabPage:

    Page1.Paint += tabpage_Paint; // custom paint event so we get the backcolor we want 
    
  2. nel metodo vernice, dipingere la pagina di rettangolo, il colore che si desidera (nel mio caso, voglio che seguire lo standard BackColor):

    // force the tab background to the current BackColor 
    private void tabpage_Paint(object sender, PaintEventArgs e) 
    { 
        SolidBrush fillBrush = new SolidBrush(BackColor); 
    
        e.Graphics.FillRectangle(fillBrush, e.ClipRectangle); 
    } 
    
+0

Non credo che questo risolva la necessità di Tom di cambiare il colore attorno al bordo e la scheda in alto (cioè l'intestazione). L'area client di TabPage cambia come descritto e può anche essere eseguita tramite TabPage.BackColor in Designer. Con collegamento CodeProject di Rhapsody, controllare anche la risposta di LauraM sulla sua limitazione qui: http://stackoverflow.com/questions/67300/why-doesnt-backcolor-work-for-tabcontrols-in-net Infine, si consideri anche questo thread: http://stackoverflow.com/questions/5338587/set-tabpage-header-color –

Problemi correlati