RichTextBox - Text vor und hinter Cursorposition einfügen

  • VB.NET
  • .NET 4.5

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    RichTextBox - Text vor und hinter Cursorposition einfügen

    Hi,

    ich tue mich gerade schwer mit einem Problemchen.
    Ich habe eine Richtextbox mit formatiertem Text. Soweit so gut.
    Nun stehe ich als User mit dem Cursor irgendwo in einer Position.
    Mit einem Shortcut (auch kein Problem) möchte ich vor und hinter dem Cursor einen Text einfügen.
    Also quasi:

    Zeile 1
    Zeile 2
    Zeil (CURSOR) e3
    Zeile 4
    Zeile 5....

    Ergebnis:
    Zeile 1
    Zeile 2
    Zeil (Eingefügter Text1) (CURSOR) (Eingefügter Text2)e3
    Zeile 4
    Zeile 5....

    Nun würde ich mit

    VB.NET-Quellcode

    1. RichTextBox.SelectedText = "Blablabla"
    ja an die markierte Stelle einen Text einfügen können. Nur wie sage ich ihm, dass am Ende der Cursor genau mitten im eingefügten Text stehen soll?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Du musst da die .CaretPosition bedienen...

    // Get the current caret position.
    TextPointer caretPos = rtb.CaretPosition;

    // Specify the new caret position at the end of the current document.
    rtb.CaretPosition = caretPos;

    ...oder verstehe ich dein Problem falsch?
    Hi,

    das gibt es in vb.net gar nicht zur Auswahl oO

    Ich habe mir jetzt beholfen, indem ich die SelectionStart Position nach dem Einfügen des ersten Teiles in eine Variable speicher und nach dem zweiten Teil dann den SelectionStart aus der Variable übernehme. Das funktioniert ganz gut.

    VB.NET-Quellcode

    1. InRichTextBox.SelectedText = "blub"
    2. Dim pos = InRichTextBox.SelectionStart
    3. InRichTextBox.SelectedText = "blub2"
    4. InRichTextBox.SelectionStart = pos
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D