Tabcontrol et onglets colorés

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 128 fois - Téléchargée 28 fois

Contenu du snippet

Cette fonction permet de colorer les onglets des tabcontrol de la couleur des tabpages.
Ce n'est peut-être pas la première fois que ce code est proposé. Mais celui-ci est simple à mettre en place.

Source / Exemple :


/// <summary>
		/// Permet d'avoir les onglets de la même couleur que les tabPages
		/// Mettre la propriété du tabControl à drawMode=OwnerDrawFixed
		/// Faire pointer cette fonction sur l'evenement DrawItem
		/// </summary>
		/// <param name="sender">objet de type TabControl</param>
		/// <param name="e">Arguments de l'evenement declanché par DrawItem</param>
		public static void OngletColore(object sender, System.Windows.Forms.DrawItemEventArgs e)
		{
			System.Windows.Forms.TabControl tabControl = (System.Windows.Forms.TabControl)sender;
			Brush brushBack;
			Brush brushFore;

			if(e.Index == tabControl.SelectedIndex)
			{
				brushBack = new System.Drawing.SolidBrush(tabControl.TabPages[e.Index].BackColor);
				brushFore = new SolidBrush(tabControl.TabPages[e.Index].ForeColor);
			}
			else
			{
				brushBack = new SolidBrush(Color.FromKnownColor(KnownColor.Control));
				brushFore = new SolidBrush(tabControl.TabPages[e.Index].ForeColor);
			}
			e.Graphics.FillRectangle(brushBack, e.Bounds.X+2,e.Bounds.Y,e.Bounds.Width-2,e.Bounds.Height);
			e.Graphics.DrawString(tabControl.TabPages[e.Index].Text, tabControl.TabPages[e.Index].Font, brushFore,(float)(e.Bounds.X+3),(float)(e.Bounds.Y+3));
			brushBack.Dispose();
			brushFore.Dispose();
		}
	}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
19
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mars 2010

Le code se met dans le tabcontrol dans DrawItem. Pour que ça fonctionne il faut mettre DrawMode à "OwnerDrawFixed".
Sous Visual Studio 2008 ça ne fonctionne pas je ne sais pas encore pourquoi.
Messages postés
1
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
12 octobre 2007

thanks
Messages postés
310
Date d'inscription
jeudi 4 septembre 2003
Statut
Membre
Dernière intervention
9 juin 2005

Merci pour ce code qui ma été utils

je voudrais juste savoir comment mettre tout le tabcontrol de la meme couleur que l'onglet sélectionner ?

Merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.