Tabcontrol et onglets colorés

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

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.