Hallo Leute,
ich habe einen Text in einer RichTextbox:
"Hans Dampf der Raucher, Dagobert Duck der Millionär, Elon Musk der Milliardär und Rudi Rüssel sitzen in einem Boot."
dieser Text soll nach erfolgreich durchgeführten Code so aussehen:
"
Ich gleiche die Namen aus einem Datagridview mit dem Inhalt der Richtextbox ab, die Einträge werden geändert und die Änderungen sollen rot dargestellt werden.
Die Änderung der Namen funktioniert ohne Probleme wie folgt:
Jetzt passiert aber folgendes. Es wird immer nur der letzte Eintrag rot markiert.
"<person id=1>Hans Dampf</person> der Raucher, <person id=2>Dagobert Duck</person> der Millionär, <person id=3>Elon Musk</person> der Milliardär und
Wenn ich jetzt aus z.b. Rudi Rüssel raus lasse, dann wird Elon Musk rot markiert.
"<person id=1>Hans Dampf</person> der Raucher, <person id=2>Dagobert Duck</person> der Millionär,
Bei allen anderen wird zwar der Text in den <person.... Code umgeschrieben, aber die Farbe des Textes ist schwarz.
Es scheint so, als würde bei jedem Durchlauf der bereits rote Text wieder schwarz werden und nur der letzte gefunde Eintrag wird rot markiert.
Kann mir jemand helfen, wie ich den roten Text bei allen Markierungen behalten kann.
Ich habe nicht mal einen Ansatz, wonach ich suchen soll um dieses Problem zu lösen.
die Farbe Rot ist der Moderation vorbehalten und entsprechende Passagen wurden durch Inline-CodeTags ersetzt ~VaporiZed
ich habe einen Text in einer RichTextbox:
"Hans Dampf der Raucher, Dagobert Duck der Millionär, Elon Musk der Milliardär und Rudi Rüssel sitzen in einem Boot."
dieser Text soll nach erfolgreich durchgeführten Code so aussehen:
"
<person id=1>Hans Dampf</person>
der Raucher, <person id=2>Dagobert Duck</person>
der Millionär, <person id=3>Elon Musk</person>
der Milliardär und <person id=4>Rudi Rüssel</person>
sitzen in einem Boot."Ich gleiche die Namen aus einem Datagridview mit dem Inhalt der Richtextbox ab, die Einträge werden geändert und die Änderungen sollen rot dargestellt werden.
Die Änderung der Namen funktioniert ohne Probleme wie folgt:
VB.NET-Quellcode
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- 'Bearbeite Richtextbox1 (Ereigniss Text)
- '1. nach Personen durchsuchen
- For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2
- 'Definiere Variablen zu Personen aus DGV2
- Dim personID As String = Me.DataGridView2.Item(0, i).Value.ToString 'PersonenID auslesen
- Dim nachname As String = Me.DataGridView2.Item(1, i).Value.ToString 'Nachname auslesen
- Dim vorname As String = Me.DataGridView2.Item(2, i).Value.ToString ' Vorname auslesen
- Dim name As String = vorname & " " & nachname 'Erstelle variable Name (Vorname und Nachname mit eine Leerzeichen)
- 'Prüfe, ob RichTextbox1 in seinem Text den Text der Varibale Name enthält
- If RichTextBox1.Text.Contains(name) Then
- 'Wenn Ja...
- 'Definiere den neuen Eintrag <person id=xxx>Vorname Name</person>
- Dim neueeintrag = "<person id=" & personID & ">" & name & "</person>"
- 'Ändern der Einträge in der RichTextbox1
- Me.RichTextBox1.Text = Me.RichTextBox1.Text.Replace(name, neueeintrag) 'Ersetze den geunfen Namen durch den neuen Eintrag
- Dim eintrag = RichTextBox1.Text.IndexOf(neueeintrag) 'Index soll dort sein, wo neuer Eintrag entstanden ist
- Dim laenge = neueeintrag.Length 'Länge des Strings auslesen
- RichTextBox1.Select(eintrag, laenge) 'Markiere den neuen Eintrag
- RichTextBox1.SelectionColor = Color.Red 'die Textfarbe des markierten Eintrages in Rot ändern
- End If
- Next
- End Sub
Jetzt passiert aber folgendes. Es wird immer nur der letzte Eintrag rot markiert.
"<person id=1>Hans Dampf</person> der Raucher, <person id=2>Dagobert Duck</person> der Millionär, <person id=3>Elon Musk</person> der Milliardär und
<person id=4>Rudi Rüssel</person>
sitzen in einem Boot."Wenn ich jetzt aus z.b. Rudi Rüssel raus lasse, dann wird Elon Musk rot markiert.
"<person id=1>Hans Dampf</person> der Raucher, <person id=2>Dagobert Duck</person> der Millionär,
<person id=3>Elon Musk</person>
der Milliardär sitzen in einem Boot."Bei allen anderen wird zwar der Text in den <person.... Code umgeschrieben, aber die Farbe des Textes ist schwarz.
Es scheint so, als würde bei jedem Durchlauf der bereits rote Text wieder schwarz werden und nur der letzte gefunde Eintrag wird rot markiert.
Kann mir jemand helfen, wie ich den roten Text bei allen Markierungen behalten kann.
Ich habe nicht mal einen Ansatz, wonach ich suchen soll um dieses Problem zu lösen.
die Farbe Rot ist der Moderation vorbehalten und entsprechende Passagen wurden durch Inline-CodeTags ersetzt ~VaporiZed
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()