Changer couleur d'un string

Signaler
Messages postés
14
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
30 avril 2011
-
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour

j'aurais voulu savoir s'il était possible de changer la couleur basique noire d'une chaine en une autre couleur

je m'explique:
string str="MACHAINE";

et lors de l'affichage dans un groupbox(en-tête par exemple) mettre seulement la chaine en rouge ou en une autre couleur.

Merci d'avance.

4 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,

C'est sur le controle que tu donnes la couleur.

propriété ForeColor

Exemple pour un bouton
button1.ForeColor = Color.Red;
Messages postés
14
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
30 avril 2011

ça j'y avais pensais mais c'est pas vraiment ce que je veux faire.
j'ai un groupbox et dans l'en-tête je voudrais mettre:

MODIFICATION DU CHAMP(en noir) + NOM_DE_MON_CHAMP(en rouge par exemple) + NOM_DE_LA_TABLE(en vert)

le NOM_DE_MON_CHAMP je le recupérère dans un string de même que pour le NOM_DE_LA_TABLE.du coup je suis bien bloqué pour faire un forecolor dessus!
Messages postés
26
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
6 mars 2011

Salut !

Un peu de retard certes, mais ca peut aider les autres !
On ne peux pas il me semble. Il faut utiliser RichTextBox pour gérer plusieurs couleurs.

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
Bonjour

Tu peux toujours redéfinir ton propre group box, et en surchargeant la methode OnPaint faire ce que tu veux du Texte

ex:
public class MyGroupBox : GroupBox
{
    public MyGroupBox():base()
    {
        base.Text = string.Empty;
    }
    string _text;
    public override string Text
    {
        get
        {
            return _text;
        }
        set
        {
            base.Text = string.Empty;
            _text = value;
        }
    }
    protected override void OnPaint(PaintEventArgs e)
    {
      
        base.OnPaint(e);
        using (Font titlefont = new Font(this.Font, FontStyle.Bold))
        {
            
            SolidBrush backBrush= new SolidBrush(this.BackColor);

            SizeF TitelSize = e.Graphics.MeasureString("Titre: ", titlefont);
            SizeF TextSize = e.Graphics.MeasureString(_text , this.Font);
            e.Graphics.FillRectangle(backBrush, new RectangleF(new Point(5, 0), TitelSize));
            e.Graphics.FillRectangle(backBrush, new RectangleF(new Point(5+(int)TitelSize.Width, 0), TextSize));
            e.Graphics.DrawString("Titre: ", titlefont, Brushes.Black, 5, 0);
            e.Graphics.DrawString(_text, this.Font, Brushes.BlueViolet, 5+TitelSize.Width,0);

            backBrush.Dispose();
        }
    }
}

Bob.
C# is amazing, enjoy it!