cs_OxN
Messages postés24Date d'inscriptionjeudi 10 juin 2004StatutMembreDernière intervention10 août 20071 21 juil. 2005 à 15:26
Pour l'image sur les onglets, tu rajoutes d'abord une imagList dans les propriétés de ton tabcontrol, et apres, dans la collections de tes tabPages, t'as un ImageIndex, tu choisi a partir de là, l'image que tu souhaites de ta ImageList
LUDINSKI
Messages postés441Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention22 mai 20128 21 juil. 2005 à 17:34
Salut emmanuel,
Je pense avoir la solution :
// Timer permettant de faire clignoter le TabPage
private Timer _tabPageClippingTimer;
// Variable indiquant si le TabPage en clignotement est allumé
private bool _isClipping;
// Indice du TabPage en train de clignoté
private int _tabPageIndex;
// Au chargement du formulaire
private void FormLoad( object sender, System.EventArgs e )
{
// Initialise le timer
_tabPageClippingTimer = new Timer();
_tabPageClippingTimer.Interval = 250;
_tabPageClippingTimer.Tick += new EventHandler( TabPageClipping );
// Intercepte l'événement généré lorsqu'un TabPage doit être dessiné
tabControl.DrawMode = TabDrawMode.OwnerDrawFixed;
tabControl.DrawItem += new DrawItemEventHandler( DrawTabControlItem );
}
// Débutte un clignottement
// tabPageIndex -> indice du TabPage à faire clignoter
private void StartTabPageClipping( int tabPageIndex )
{
_tabPageIndex = tabPageIndex;
_tabPageClippingTimer.Start();
}
// Met fin au clignottement
private void StopTabPageClipping()
{
_isClipping = false;
_tabPageClippingTimer.Stop();
tabControl.Invalidate( true );
}
// Le tabPage doit clignoter
private void TabPageClipping( object sender, EventArgs e )
{
// Un TabPage doit être redessiné
private void DrawTabControlItem( object sender, System.Windows.Forms.DrawItemEventArgs e )
{
// Pinceau du fond du texte
Brush backBrush;
// Pinceau du texte
Brush foreBrush;
// Il s'agit du TabPage à faire clignoté et le TabPage est allumé
if( _isClipping && _tabPageIndex == e.Index )
{
backBrush = new Pen( Color.Red ).Brush;
foreBrush = new Pen( Color.Yellow ).Brush;
}
else
{
backBrush = new Pen( SystemColors.Control ).Brush;
foreBrush = new Pen( Color.Black ).Brush;
}
// Dessine le fond du TabPage
e.Graphics.FillRectangle( backBrush, e.Bounds );
// Récupère le texte du TabPage à dessiner
string tabPageText = tabControl.TabPages[ e.Index ].Text;
// Récupère les dimensions du texte
SizeF stringSize = e.Graphics.MeasureString( tabPageText, tabControl.Font );
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 20102 21 juil. 2005 à 15:51
En faite faut que je puisse décider quand ça commence à clignoter sur
l'onglet que j'ai choisi et quand l'utilisateur clique sur l'onglet qui
clignote le clignotement s'eteint un peut comme avec msn.