Richtextbox, Schriftart ändern gelingt nicht immer

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Humax.

    Richtextbox, Schriftart ändern gelingt nicht immer

    Hallo, folgendes Problem:

    Ich habe ein Tabcontrol mit 3 Tabs. In jedem Tab ist dann eine Richtextbox.

    Klicke ich Tab1 an, wird Richtextbox1 mit Daten gefüllt ebenso so bei Tab 2 und 3:

    Wenn die Richtextbox gefüllt ist, wird sie durchsucht um bestimmte Worte (Namen) Fett zu schreiben, was auch geht, Ausnahme bei Namen die mit "B" beginnen. Hier wird z.b. der fiktive Name "Bauer Thomas" so dargestellt. "Bauer Thomas". wenn ich das Tab wechsle und dann wieder auf das Tab gehe wird der Name richtig dargestellt. Kann mir jemand erklären was ich falsch mache?

    Hier mein Code zum Fett schreiben:

    For b = 1 To Hauptform.svh_mitglieder(1).anzahlmitglieder

    If RichTextBox1.Text.Contains(Hauptform.svh_mitglieder(1).gesamtername(b)) Then
    With RichTextBox1
    .SelectionStart = .Text.IndexOf(Hauptform.svh_mitglieder(1).gesamtername(b))
    .SelectionLength = Hauptform.svh_mitglieder(1).gesamtername(b).Length
    .SelectionFont = New Font(.SelectionFont, FontStyle.Bold)
    End With
    End If

    Next
    Mach Dir ein kleines Testprojekt ohne TabControl mit einem Button und einer RichTextBox und probier das aus.
    Ich denke, Du verwurschtelst irgendwelche Indizes.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hab jetzt nochmals was getestet. Vielleicht hilft das weiter

    Es wird nicht immer der Name mit Anfangsbuchstaben "B" nicht fett geschrieben, sondern immer nach Alphabetischer Reihenfolge der erste Name in der Richtextbox

    Also wenn folgende Namen in der Rtb stehen:

    Müller

    Ziege

    Friedrich

    Maier

    Dann wird Friedrich nicht richtig fett geschrieben. Ist stattdessen in der selben Liste ein Name mit vorhergehendem Anfangsbuchstaben also z.b: "C" dann wird dieser Name nicht richtig geschrieben. Meine Mitgliederliste ist alphabetisch sortiert, also wird immer der zuerst gefundene Name in der RTB nicht komplett Fett geschrieben.
    Dann poste doch mal einen lauffähigen, den Fehler erzeugenden Code.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!