JoKaBo hat folgendes geschrieben : |
3.wenn ich auf neuen eintrag gehe soll das Formular lehr sein aber jezt stht immer noch der inhalt der textBox2 da.
und es steht kein feler da
eswird nur dise zeile gelb makirt
C#-Quelltext 1:
| this.textBox2.Text.Remove(this.textBox2.SelectedText[0]); | |
Vielleicht ist deine Installation von Visual Studio ja kaputt? Bei mir sieht das in etwa so aus:
Wenn du dir den Code anschaust, siehst du auch, warum es dort knallt. Klammern werden zuerst ausgewertet, also schauen wir dort rein: Du greifst auf die Eigenschaft
SelectedText der TextBox zu, die, wie der Name schon sagt, den Text enthält, den der Benutzer markiert hat. Wahrscheinlich hat er nichts markiert, also ist dieser String leer. Und nun greifst du mit
[0] auf dessen erstes Element zu - und da es kein erstes Element gibt, siehst du diese Fehlermeldung.
Dein Ansatz ist übrigens nicht der richtige. Setze die Einfügemarke auf das
Remove und drücke F12, um die Beschreibung dieser Methode zu erhalten (du musst dann auf die drei Punkte am Anfang der markierten Zeile doppelklicken). Dort steht:
| string.Remove(int) hat folgendes geschrieben: |
// Zusammenfassung:
// Löscht alle Zeichen aus dieser Zeichenfolge, beginnend an einer angegebenen
// Position bis zur letzten Position.
//
// Parameter:
// startIndex:
// Die nullbasierte Position, ab der Zeichen gelöscht werden sollen.
//
// Rückgabewerte:
// Eine neue Zeichenfolge, die dieser Zeichenfolge ohne die entfernten Zeichen
// entspricht.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// startIndex ist kleiner als 0 (null).- oder - startIndex gibt eine Position
// an, die sich nicht innerhalb dieser Zeichenfolge befindet. |
Erstens erwartet die Methode als Parameter die Position im String, an der angefangen werden soll, zu löschen, und du übergibst den Zeichencode des ersten Zeichens des Strings. Zweitens gibt die Methode den neuen String als Rückgabewert zurück, und ändert nicht den String selbst.
Lange Rede, kurzer Sinn: So geht's nicht. Wie es geht, hat dir
Namenlosnameless in deinem anderen Thread übrigens schon verraten.