Je veux afficher le texte dans la zone de texte en 2 couleurs, par exemple 1 ligne rouge 2 bleu, si j'utilise name.ForeColor = Color.Red;
tout le texte change de couleur, mais je veux que cela ne change que 1 couleur de ligne.
Vous devez utiliser un RichTextBox .
Vous pouvez ensuite changer la couleur du texte en sélectionnant du texte et en modifiant la couleur ou la police de sélection.
richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
Utilisez un RichTextBox pour cela, voici une méthode d'extension de Nathan Baulch
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox box, string text, Color color)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
}
}
En savoir plus ici
Voici un exemple avec Fontdialog et Colordialog.
void TextfarbeToolStripMenuItemClick(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
richTextBox1.ForeColor = colorDialog1.Color;
listBox1.ForeColor = colorDialog1.Color;
}
void FontsToolStripMenuItemClick(object sender, EventArgs e)
{
fontDialog1.ShowDialog();
richTextBox1.Font = fontDialog1.Font;
listBox1.Font = fontDialog1.Font;
}
void HintergrundfarbeToolStripMenuItemClick(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
richTextBox1.BackColor = colorDialog1.Color;
listBox1.BackColor = colorDialog1.Color;
}
Tout d'abord, les détails et les balises que vous avez fournis ne sont pas suffisants - C # n'a pas de framework d'interface utilisateur spécifique, mais quelques-uns: WPF, Winforms, ASP.NET, Silverlight.
Deuxièmement, vous ne pouvez pas faire cela avec un contrôle de zone de texte normal dans l’un des éléments ci-dessus . Vous devrez rechercher/créer un contrôle d’UI personnalisé ayant un comportement différent ou utiliser un contrôle plus avancé, par exemple. une zone de texte riche.