Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TABCONTROL ET ONGLETS COLORÉS


Information sur la source

Catégorie :Graphique Source .NET ( DotNet ) Classé sous : tabcontrol Niveau : Débutant Date de création : 13/04/2005 Vu : 11 100

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

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

  • /// <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();
  • }
  • }
	/// <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();
		}
	}

Commentaires et avis

signaler à un administrateur
Commentaire de dionysos6868 le 09/06/2005 14:52:10

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

signaler à un administrateur
Commentaire de teste36 le 12/10/2007 22:09:03

thanks

signaler à un administrateur
Commentaire de bubulemaster le 18/03/2008 11:48:24

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.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

tabpages & tabcontrol [ par Alex.B ] voila:j'ai plusieurs tabpages dans un tabcontrol.dynmiquement, j'ai besoin de ccher certaines des pages.J'ai essayé de faire des TabPages.Remove(page_ TabControl et onglet [ par Thanos_the_yopper ] j'ai un TabControl avec des onglets et j'aurais voulu qu'a l'affichage de ma page, je "force" quel onglet est activé merci d'avance :)Final Fantasy Me Bouge tes onglets... [ par bigflo93 ] Salut,Je voudrais savoir s'il est possible de faire du drag and drop avec des ongles en C# ?Je m'explique. Dans un tabControl, ya des onglets. Et voud Ajouter une image dans chaques onglets de mon tabControl [ par Online ] Comment peux t'on faire ca ?;) TabControl [ par fdouieb ] Bonjour;est-il possible de changer la couleur de l'object "TabControl". Au niveau des pages il n'y a pas de probleme.Merci tabcontrol [ par epoc ] est-il possible de rendre invisible les boutons permettant de sélectionner les onglets d'un tab? TabControl et Bufferisation. [ par Nils_Reco_Vocale ] Bonjour, Je cherche à faire une application qui affiche des graphes dans un TabControl, pour être clair, un truc qui ressemble vachement à Excel. Forms dans TabControl [ par bloomy ] Salut!j'ai cr&#233;&#233; 3 forms ind&#233;pendants que je voudrais r&#233;unir dans une seule fen&#234;tre.Pour cela je voudrais utiliser un TabContr TabControl, tabpage et raccourci clavier [ par Arthenius ] Salut a tous,Voila j'ai un tabcontrole avec plusieurs tabpage dedans, et je souhaiterais pouvoir s&#233;lectionner un des tabpage en utilisant le clav Tabcontrol + Questions [ par emmanuel9 ] Bonjour &#224; tous, Quelqun serait t'il par hazard comment faire clignoter un onglet d'un tab control et comment afficher aussi une image sur les o


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.