Feedback

C# - Markierte Zeichen in Textbox löschen

Veröffentlicht von am 20.09.2006
(1 Bewertungen)
Funktion löscht die markierten Zeichen in einer Textbox.
Man kann damit auch ein "Backspace" ausführen:
if (myTextBox != null){
int intAktLaenge = myTextBox.TextLength;
if (intAktLaenge > 0){
myTextBox.Select(intAktLaenge - 1, 1);
CutSelectedCharsInTextBox(myTextBox);
}
}
private void CutSelectedCharsInTextBox(TextBox objTextBox)
{
    String strSelected = objTextBox.SelectedText;

    if (!String.IsNullOrEmpty(strSelected))
    {
        //mindestens 1 Zeichen markiert

        StringBuilder strAlterWertMod = new StringBuilder();

        //Start und Länge der Markierung ermitteln
        int intSelStart = objTextBox.SelectionStart;
        int intSelLaenge = objTextBox.SelectionLength;

        //alten Wert holen
        String strAlterWertOri = objTextBox.Text;

        //linker und rechter Teil des unkarkierten Teils ermitteln
        String strLinks = strAlterWertOri.Substring(0, intSelStart);
        String strRechts = strAlterWertOri.Substring(intSelStart + intSelLaenge);

        //neuer Text aufbauen
        strAlterWertMod.Append(strLinks);
        strAlterWertMod.Append(strRechts);

        objTextBox.Text = strAlterWertMod.ToString();
    }
    else
    {
        //nichts markiert
    }
}
Abgelegt unter Textbox.

1 Kommentare zum Snippet

herbivore schrieb am 11.12.2006:
Wesentlich einfacher geht es mit objTextBox.SelectedText = "" :-)
 

Logge dich ein, um hier zu kommentieren!