Курсор в TextBoxe
От: Baalexxx  
Дата: 06.09.05 21:56
Оценка:
В C# есть TextBox с включенным свойством multyline.
1.Как определить для курсора номер строки, в котором он находится и положение в этой строке?
2.Изменение положения курсора я определяю, обрабатывая события MouseDown и KeyDown. Можно ли это сделать как-то проще?
(пытаюсь добиться такого же поведения у строки состояния, как у стандартного виндовского Notepad-а)

Буду очень благодарен за помощь...



07.09.05 17:28: Перенесено из '.NET'
Курсор в TextBoxe
От: Аноним  
Дата: 07.09.05 04:26
Оценка:
RTFM: http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/RichTextBox/default.aspx]
что-нибудь да поможет...




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Курсор в TextBoxe
От: Аноним  
Дата: 07.08.06 09:09
Оценка:
Однако удивлен, что нет простого способа определить координаты курсора в multiline текстбоксе. А также нету события вроде SelectionChanged или CaretPositionChanged. Может, я что-то пропустил?
--------------------------------
С уважением, Дмитрий.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Курсор в TextBoxe
От: Аноним  
Дата: 07.08.06 10:33
Оценка:
по ссылке лень пройти чтоли ?

Вопрос
Как определить позицию каретки ввода в TextBox/RichTextBox?


Ответ
Используйте свойство TextBoxBase.SelectionStart

СaretPositionChanged = TextChanged

"эх женщины-женщины... понаражают сами себя
а нам потом расхлёбывать.."
(КВН ЛУНа)


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Курсор в TextBoxe
От: Аноним  
Дата: 07.08.06 10:45
Оценка:
по ссылке лень пройти чтоли ?

Вовсе нет. И про SelectionStart мне известно. Но это всего лишь смещение выделенного текста. А координаты курсора в мультилайновом тестбоксе — это X, Y. Можно узнать, как из первого получить второе? Делать раскладку текста с учетом переноса слов?

СaretPositionChanged = TextChanged

Да ну? При перемещении курсора ввода срабатывает TextChanged?
--------------------------------
С уважением, Дмитрий.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Курсор в TextBoxe
От: Аноним  
Дата: 07.08.06 11:02
Оценка:
Уточню: X, Y в данном контексте — столбец и строка, ну, в общем, то же, что хотел найти топикстартер. Может, вы меня неправильно поняли, но я специально искал такой топик, будучи уверен, что на готдотнете об этом уже наверняка спрашивали.
--------------------------------
С уважением, Дмитрий.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Курсор в TextBoxe
От: Аноним  
Дата: 03.10.06 08:52
Оценка:
Я нашел такой способ. Работает на RichTextBox точно. На TextBox не проверял, но должно тоже работать.

Обработчик события SelectionChanged для RichTextBox richTextBox1
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
Point pntCursorPosition = new Point();
pntCursorPosition.X = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
pntCursorPosition.Y=richTextBox1.SelectionStart - richTextBox1.GetFirstCharIndexOfCurrentLine();
}





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.