Je suis un gros débutant en C# et j'aimerais savoir comment changer la position du texte situé dans les onglets d'un TabControl lorsqu'il est en alignement "left" et changer la couleur de ces mêmes onglets.
Je viens de trouver de toute façon:
private void TabControl_DrawItem(object sender, DrawItemEventArgs e)
{
Graphics g = e.Graphics;
Brush _TextBrush;
// Get the item from the collection.
TabPage _TabPage = TabControl.TabPages[e.Index];
// définie la taille du rectangle dans lequel s'effectue les changements souhaités
Rectangle _TabBounds = TabControl.GetTabRect(e.Index);
if (e.State == DrawItemState.Selected)
{
// définie la couleur du texte lorsqu'on selectionne l'onglet.
_TextBrush = new SolidBrush(Color.FromArgb(((System.Byte)(0)), ((System.Byte)(81)), ((System.Byte)(135))));
g.FillRectangle(Brushes.Transparent, e.Bounds);
}
else
{
_TextBrush = new SolidBrush(Color.FromArgb(((System.Byte)(0)), ((System.Byte)(81)), ((System.Byte)(135))));
}
// Change la police des caractères dans les onglets
Font _TabFont = new Font("Arial", 10, FontStyle.Bold, GraphicsUnit.Pixel);
// Centre le texte dans les onglets
StringFormat _StringFlags = new StringFormat();
_StringFlags.Alignment = StringAlignment.Center;
_StringFlags.LineAlignment = StringAlignment.Center;
g.DrawString(_TabPage.Text, _TabFont, _TextBrush, _TabBounds, new StringFormat(_StringFlags));
}
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.