У меня есть текстовое поле с отображаемой в нем строкой.
Чтобы привести курсор в текстовое поле, которое я уже делаю
txtbox.Focus();
Но как мне получить курсор в конце строки в текстовом поле?
Ответ 1
Вы можете управлять позицией курсора (и выбором) с помощью свойств txtbox.SelectionStart и txtbox.SelectionLength. Если вы хотите, чтобы каретка закончилась, попробуйте это:
txtbox.SelectionStart = txtbox.Text.Length -1 // add some logic if length is 0
txtbox.SelectionLength = 0
Вы можете установить положение каретки с помощью TextBox.CaretIndex. Если вам нужно только установить курсор в конец, вы можете просто передать длину строки, например:
txtBox.CaretIndex=txtBox.Text.Length;
Вам нужно установить индекс каретки по длине, а не по длине-1, потому что это поместит каретку перед последним символом.
Ответ 4
Попробуйте, как показано ниже... это поможет вам...
Некоторое время в Window Form Focus() работает неправильно. Поэтому вы можете использовать Select() для фокусировки текстового поля.
txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox