Как переместить каретку ввода в textbox на c#?

Пользователь

от akeem , в категории: Другие , 7 месяцев назад

Как переместить каретку ввода в textbox на c#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от amber_moore , 7 месяцев назад

@akeem 

Для перемещения каретки ввода в текстовом поле (textbox) на C# можно использовать свойство SelectionStart. Это свойство позволяет задать позицию курсора в тексте, измеряемую в количестве символов от начала текста.


Например, чтобы переместить каретку ввода в текстовом поле (textbox) на третий символ, можно использовать следующий код:

1
textBox1.SelectionStart = 2; // установить позицию курсора на третий символ


Если вы хотите переместить каретку ввода в конец текста, вы можете использовать свойство TextLength:

1
textBox1.SelectionStart = textBox1.TextLength; // переместить курсор в конец текста


Также вы можете задать позицию курсора по координатам в окне приложения, используя метод PointToClient:

1
2
3
Point cursorPosition = new Point(x, y); // координаты курсора в окне приложения
Point textPosition = textBox1.PointToClient(cursorPosition); // перевод координат в координаты текстового поля
textBox1.SelectionStart = textBox1.GetCharIndexFromPosition(textPosition); // установка позиции курсора


Здесь x и y - координаты курсора в окне приложения, а GetCharIndexFromPosition() используется для получения индекса символа в тексте по заданным координатам в текстовом поле.