Etwas vor und hinter markierten Text schreiben

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Sportline.

    Etwas vor und hinter markierten Text schreiben

    Guten Morgen,

    gibt es eine Möglichkeit in einer Textbox etwas vor und hinter markierten Text schreiben, also ähnlich wie in einem Forum mit BB-Code?

    Ich gehe mal davon aus das ich auf jeden Fall mit

    VB.NET-Quellcode

    1. TextBox1.SelectedText()

    und

    VB.NET-Quellcode

    1. Textbox1.AppendText()

    arbeiten muss, stehe aber auf'm Schlauch wie ich ihm erzähle das er mir etwas vor und hinter den Text schreibt.
    Wäre nett wenn mir da jmd auf die Sprünge helfen könnte :)
    Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. TextBox1.Text = TextBox1.Text.Insert(TextBox1.SelectionStart, "zzz")
    3. End Sub
    4. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    5. TextBox1.Text = TextBox1.Text.Insert(TextBox1.SelectionStart + TextBox1.SelectionLength, "zzz")
    6. End Sub
    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!
    Danke,

    das vor den Text kopieren passt. Das was aber hinter den Text soll, schreibt er immer an den Anfang der TextBox. Habe beide Anweisungen hinter einem Button hinterlegt, aber daran sollte das ja nun eigentlich nicht scheitern.

    VB.NET-Quellcode

    1. Dim strText As String = "<b>"
    2. Dim strText2 As String = "</b>"
    3. tbEinleitung.Text = tbEinleitung.Text.Insert(tbEinleitung.SelectionStart, strText)
    4. tbEinleitung.Text = tbEinleitung.Text.Insert(tbEinleitung.SelectionStart + tbEinleitung.SelectionLength, strText2)

    Sportline schrieb:

    schreibt er immer an den Anfang der TextBox
    :?: :?: :?:
    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!
    Das Einfügen verändert die Selection-Variablen, Du musst sie Dir merken, und zuerst das Ende, dann den Anfang einfügen:

    VB.NET-Quellcode

    1. Private strTextStart As String = "<b>"
    2. Private strTextEnd As String = "</b>"
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Dim start As Integer = TextBox1.SelectionStart
    5. Dim ende As Integer = TextBox1.SelectionStart + TextBox1.SelectionLength
    6. TextBox1.Text = TextBox1.Text.Insert(ende, strTextEnd)
    7. TextBox1.Text = TextBox1.Text.Insert(start, strTextStart)
    8. End Sub
    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!