[C#] RichTextBox et SelectionColor()

scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 9 nov. 2004 à 22:03
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 10 nov. 2004 à 01:09
j'ai des petits soucis de refresh sur les RichText et la coloration de portions immédiate (en différé ca passe).

Ce qui fonctionne :
------------------------
string inputLanguage =
"// Comment.\n" +
"using System;\n" +
"\n" +
"public class Stuff : Form { \n" +
" public static void Main(String args) {\n" +
" }\n" +
"}\n" ;
m_editOutput.Text = inputLanguage;

m_editOutput.Select (0, 12);
m_editOutput.SelectionColor = Color.Green;

m_editOutput.Select (12, 13);
m_editOutput.SelectionColor = Color.Blue;

m_editOutput.Select (27, 6);
m_editOutput.SelectionColor = Color.Red;

Ce qui foire :
(tout apparait en vert sauf la 2ème ligne ('using System;')
----------------------------------------------------------------------
m_editOutput.Text = "// Comment.\n";

m_editOutput.Select (0, 12);
m_editOutput.SelectionColor = Color.Green;

m_editOutput.Text += "using System;\n" +
"\n" +
"public class Stuff : Form { \n" +
" public static void Main(String args) {\n" +
" }\n" +
"}\n" ;
m_editOutput.Select (12, 13);
m_editOutput.SelectionColor = Color.Blue;

-----
Le refresh ne change rien. HELP j'suis au bord du suicide la
----------------------------
C++ forever
C# amateur

2 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 nov. 2004 à 23:16
je pense que le mieux dans ce cas est de se servir d'AppendText de cette manière par exemple :

m_editOutput.Clear();

m_editOutput.SelectionColor = Color.Green;
m_editOutput.AppendText("// Comment.\n");

m_editOutput.SelectionColor = Color.Blue;
m_editOutput.AppendText( "using System;\n\n");

m_editOutput.SelectionColor = Color.Red;
m_editOutput.AppendText("public");

m_editOutput.SelectionColor = Color.Black;
m_editOutput.AppendText(" class Stuff : Form { \n" +
" public static void Main(String args) {\n" +
" }\n" +
"}\n" );


Cocoricoooooooo !!!!
coq
MVP Visual C#
0
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
10 nov. 2004 à 01:09
alors vi ca marche sous .NET 2003, tente voir ton code sur la beta 1 de .NET2005 ca marche pas.

Par exemple :
public static void AddTextLine(RichTextBox _oRichEdit, string _szText, Color _oColor)
{
_oRichEdit.SelectionColor = _oColor;
_oRichEdit.AppendText(_szText + "\n");
}

le fait d'avoir le \n m'efface la zone complete de la RichEdit et si je le vire, bon j'ai plus les retour chariot (jusque la c'est normal mais les textes sont tronqués).
Je sais que ce n'est qu'une beta, mais la sur un controle aussi simple ca devrait marcher....

----------------------------
C++ forever
C# amateur
0
Rejoignez-nous