Frage zu Richtextbox

  • VB.NET

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

    Frage zu Richtextbox

    Guten Tag,

    ich habe zwar gegoogelt, bin aber zu keinen Ergebniss gekommen.
    Ich möchte ein Mini Tool erstellen, womit es möglich ist die ä,ö,ü usw. zu ae,oe,ue machen.

    Welchen befehl muss man hier hinzufügen?

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. RichTextBox1.Text = RichTextBox2.Text
    3. End Sub



    MfG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „K_M_M_K“ ()

    Und hier kommemer den blutigen Anfängern gleichma mit "Trennung von Oberfläche und Daten".

    Weil die Frage hat keine Spur mit Richtextbox (=Oberfläche) zu tun.

    TextErsatz (String.Replace()) ist Datenverarbeitung, und wird mit Strings gemacht, nicht mit Textboxen.


    VB.NET-Quellcode

    1. TextBox1.Text = Replace(TextBox1.Text, "ö", "oe")
    2. TextBox1.Text = Replace(TextBox1.Text, "ä", "ae")
    3. TextBox1.Text = Replace(TextBox1.Text, "ü", "ue")
    ist also nicht nur eine Grauseligkeit wegen Verwendung der VB6-Replace-Funktion, sondern v.a. wird der Textbox-Text 3 mal geändert, und also die Textbox 3 mal gezwungen, ihre ganze Anzeige vollkommen neu aufzubauen.

    Der eigliche Text-Ersatz der String-Daten dauert nullkommanix, aber der Neu-Aufbau der Anzeige - der dauert vmtl. das 10000-fache.

    Also lieber den Text an eine Variable zuweisen, diese 3mal umändern, und das Ergebnis wieder der Textbox andrehen. Effekt: 3-mal schnellerer Code - im Grunde ohne Mehr-Aufwand.

    (Jaja - ich weiß: KorinthenKacker - den Unterschied sieht in diesem Falle kein Mensch).
    Aber schadet nicht, diese Denkweise sich von Anfang an anzugewöhnen: Datenverarbeitung mit den Daten machen, Oberfläche so wenig wie möglich anrühren.