Как получить последний символ, написанный в textbox?
Я хочу знать, как получить последний символ, написанный в текстовом поле. Это не значит, что она последняя. Например, я пишу следующее:--1-->
Это я тест.
но я забыл "s", поэтому я перемещаю палец на " i "и добавляю "s":
Это тест.
Итак, как я могу получить "s"?
Я хочу, чтобы получить его в char или string, но я не знаю как это сделать...
Я надеюсь, что это четкий.
4 ответов
если вы хотите получить последний записанный символ, то подпишитесь поле до KeyDown событие:
C#:
textBox.KeyDown += textBox_KeyDown;
XAML:
<TextBox x:Name="textBox" KeyDown="textBox_KeyDown" />
затем:
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
/* e.Key contains the keyboard key associated with the event. */
}
если вы хотите получить индекс последнего письменного характера, то это сложнее. Одним из решений может быть отслеживание положения мыши и курсора в TextBox
.
ответ yBee почти правильный, за исключением того, что событие называется KeyDown
, а не KeyPress
, по крайней мере, на Windows Phone 8.
используя этот код, чтобы получить последний символ, вставленный в textbox
private void Textbox1_KeyDown(object sender, KeyEventArgs e)
{
lastchar_inserted = e.KeyValue.ToString(); // global string variable
}
посмотрите, это может помочь. Чтобы получить последний символ текста, другое предложение-добавить
"\n"
(nameTextbox.Append("\n")
)
и затем использовать
int lineCount = nameTextbox.Lines.Count();
и, наконец, используйте метод
nameTextbox.GetFirstCharIndexFromLine(lineCount)
.
там у вас может быть (index-1) (или что угодно, будьте осторожны и проверьте его с меньшим текстом) в качестве индекса вашего последнего символа.