Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Colorier des onglets

1 réponse
Avatar
The Best Poster
Bonjour,

J'ai développé une application qui utilise plusieurs onglets pour la
saisie des données en entrée, et pour l'affichage des résultats.

J'aimerais pouvoir donner une couleur différente à la zone supérieure
de chaque onglet (là où s'affiche le nom de l'onglet) afin de rendre
plus facile le choix de l'onglet par l'utilisateur.

Je ne sais pas si cela est possible, et comment le faire ?

Merci de vos conseils.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)

1 réponse

Avatar
The Best Poster
The Best Poster avait écrit le 24/03/2010 :
Bonjour,

J'ai développé une application qui utilise plusieurs onglets pour la saisie
des données en entrée, et pour l'affichage des résultats.

J'aimerais pouvoir donner une couleur différente à la zone supérieure de
chaque onglet (là où s'affiche le nom de l'onglet) afin de rendre plus facile
le choix de l'onglet par l'utilisateur.

Je ne sais pas si cela est possible, et comment le faire ?

Merci de vos conseils.



Voici la réponse :

MyForm est le formulaire où se trouvent les TabControls.

private void MyForm_Load(object sender, EventArgs e)
{

// Allow customizing panels colors
this.tabPanel.DrawMode = TabDrawMode.OwnerDrawFixed;
this.tabPanel.DrawItem += new
DrawItemEventHandler(tabPanel_DrawItem); // Function handle for
changing color of panels
}


void tabPanel_DrawItem(object sender, DrawItemEventArgs e)
{
Font f = new Font("Microsoft Sans
Serif",10,FontStyle.Bold);

SolidBrush b = new SolidBrush(Color.Black);

// Get color from selected panel
SolidBrush sb;
sb = new
SolidBrush(this.tabPanel.TabPages[e.Index].BackColor);


e.Graphics.FillRectangle(sb, e.Bounds);
e.Graphics.DrawString(this.tabPanel.TabPages[e.Index].Text,
f, Brushes.White,e.Bounds.X + 1, e.Bounds.Y + 3);

}

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)