Jowz,
Ik ben bezig met een functie om code te highlighten.
Nu heb ik het volgende probleem, als ik de functie parseline() in de form_load geval zet en vantevoren al tekst in een RTB control zet (dus in vs2005 al bij properties en niet tijdens het debuggen) dan komt er 1 keer de code ge-highlight te staan en 1 keer gewoon.
Voer ik die functie ook nog eens uit in een timer dan blijft die ge-highlighte code komen.

weet iemand een oplossing?
Hier wat code:
Ik ben bezig met een functie om code te highlighten.
Nu heb ik het volgende probleem, als ik de functie parseline() in de form_load geval zet en vantevoren al tekst in een RTB control zet (dus in vs2005 al bij properties en niet tijdens het debuggen) dan komt er 1 keer de code ge-highlight te staan en 1 keer gewoon.
Voer ik die functie ook nog eens uit in een timer dan blijft die ge-highlighte code komen.

weet iemand een oplossing?
Hier wat code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| private void Form1_Load(object sender, EventArgs e)
{
Regex r = new Regex("\\n");
String[] lines = r.Split(richTextBox1.Text);
foreach (string l in lines)
{
ParseLine(l);
}
}
void ParseLine(string line)
{
Regex r = new Regex("([ \\t{}():;])");
String[] tokens = r.Split(line);
foreach (string token in tokens)
{
// Set the token’s default color and font.
richTextBox1.SelectionColor = Color.Black;
richTextBox1.SelectionFont = new Font("Courier New", 10, FontStyle.Regular);
// Check whether the token is a keyword.
String[] keywords = { "public", "void", "using", "static", "class" };
for (int i = 0; i < keywords.Length; i++)
{
if (keywords[i] == token)
{
// Apply alternative color and font to highlight keyword.
richTextBox1.SelectionColor = Color.Blue;
richTextBox1.SelectionFont = new Font("Courier New", 10, FontStyle.Bold);
break;
}
}
richTextBox1.SelectedText = token;
}
richTextBox1.SelectedText = "\n";
} |