/ / TextBox zastępuje nieprawidłowe znaki [zamknięty] - c #, winforms

TextBox zastępuje złe znaki [closed] - c #, winforms

textBox1.Text = textBox1.Text.Remove((textBox1.TextLength)-1);

W przypadku naciśnięcia klawisza jest to kod, którego użyłem do usunięcia ostatniego nieprawidłowo wprowadzonego znaku. ale usuwa ostatni poprawny znak i najpierw wprowadza niewłaściwy znak.

na przykład. nazwa, którą wpisuję, to „raja”, usuwa ostatni znak „a” i tworzy wartość „1raj” w TextBox.

Odpowiedzi:

4 dla odpowiedzi № 1

Zdarzenie KeyPress ma miejsce przed wprowadzeniem nowego znaku do pola, a zmiana jego właściwości Text przesuwa kursor z powrotem na początek.

Możesz użyć zdarzenia, aby całkowicie zignorować postać, ustawiając e.Handled na true. Jeśli ty mieć aby zmienić właściwość Text, należy użyć wartości SelectionStart i SelectionEnd, aby zobaczyć, gdzie znajdował się kursor przed jego zmianą, a następnie przywrócić wartości.


0 dla odpowiedzi nr 2

Możesz użyć String.Substring (indeks, długość).

textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);