Как определить положение последней нажатой клавиши в строке в C #? - PullRequest
2 голосов
/ 02 апреля 2012

Я ввожу данные в таблицу данных.

Скажем, я ввел 678.56 в клетку. Теперь, если я снова нажму цифру 6 после 678,

Я хочу знать позицию последней нажатой клавиши в строке. Text.IndexOf (e.KeyChar) дает мне позицию 0 (как и 6).

Но мне нужно знать позицию текущей нажатой клавиши. Я использую KeyPress событие.

Редактировать: я использую строковое значение, взятое из ячейки таблицы данных. Это не текстовое поле. Я создаю обработчик событий как KeyPress.

Ответы [ 3 ]

4 голосов
/ 02 апреля 2012

Посмотрите на символ перед TextBox.SelectionStart .

3 голосов
/ 02 апреля 2012

Вы можете использовать это в вашем KeyPress мероприятии:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
        int position = textBox1.SelectionStart;
}
1 голос
/ 02 апреля 2012

попробуйте использовать событие KeyRelease, вот когда e.KeyChar вернет значение нажатой клавиши (в этом случае освобождается).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...