Laden...

Text in richTextBox an der Stelle des Cursors einfügen, wie?

Erstellt von Trekki1990 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.152 Views
Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren
Text in richTextBox an der Stelle des Cursors einfügen, wie?

Hallo liebe Community.

Ich füge mithilfe

richTextBox1.AppendText(irgendwas);

den Text ein. Nachteil dabei ist, dass der Text ans Ende des schon vorhandenen Textes eingefügt wird. Wie kann man es machen, dass der Text da eingefügt wird, wo der Cursor steht?

Wäre für Denkanstöße oder sonstige Lösungsvorschläge sehr dankbar!

Gruß Trekki

J
3.331 Beiträge seit 2006
vor 15 Jahren

RichTextBox.Text.Insert oder RichTextBox.Rtf.Insert (je nachdem)

Jürgen

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Danke für deine Antwort, aber INSERT wird bei mir nicht angezeigt. Was für einen Assemblyverweis brauche ich noch? Danke

1.665 Beiträge seit 2006
vor 15 Jahren

richTextBox.Text = richTextBox.Text.Insert();

überprüf das nochmal. Insert ist eine Methode von System.String. Das muss also vorhanden sein.

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Das ist meine Usings

using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Data.SqlServerCe;

Und hier was mir die Intellisense bei richTextBox1.Ins anzeigt. Irgendwas fehlt. Ich weiß nur nicht was.

J
3.331 Beiträge seit 2006
vor 15 Jahren

Wer lesen kann, ist sehr im Vorteil. Wir haben geschrieben:

richTextBox.Text = richTextBox.Text.Insert();

Jürgen

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Funktioniert ebenso wenig. es wird nichts angezeigt!

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Sorry mein fehler, war mal wieder zu flüchtig. 😁
Habs doch noch gesehen.

Aber danke für eure Hilfe!

1.378 Beiträge seit 2006
vor 15 Jahren

Text.Insert ist keine saubere Lösung, da dadurch eventuelle Formatierungen der RTB verloren gehen. Probier mal mit der Eigenschaft SelectedRTF oder SelectedText rum. Ich bilde mir ein, dass man mit denen die aktuelle Selektierung überschreiben kann(und wenn nix selektiert ist fügt man quasi ein)

Lg XXX

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Ich glaube ich hatte das mal in einem früheren Projekt so gemacht ich kann mich aber nicht mehr recht dran erinnern. Werd ich mal probieren. Danke.

Trekki1990 Themenstarter:in
503 Beiträge seit 2008
vor 15 Jahren

Ach ich lass das jetzt so wie ichs habe. Hier der Code:

int caretposition = richTextBox1.SelectionStart;
richTextBox1.Text = richTextBox1.Text.Insert(caretposition, (r["tt"].ToString()));
5.742 Beiträge seit 2007
vor 15 Jahren

Hallo zusammen,

wie wäre es mit:

this.richTextBox1.SelectedText = "Test";
110 Beiträge seit 2008
vor 15 Jahren

Und vorher noch die Selectionlänge auf 0 setzen, sonst wird Text entfernt 😉