Feedback

Markierte Zeichen in Textbox löschen

Sprache: C#

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
    }
}
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
    }
}

1 Kommentar