Как прокручивать два текстовых поля одновременно

#vb.net

#vb.net

Вопрос:

Цель здесь состоит в том, чтобы прокручивать richtextbox2 одновременно с прокруткой richtextbox1. Я пытался…

 Dim currentLine As integer=0
Dim index As integer=0

Private sub richtextbox1_textChanged(s as sender,e as eventArgs)handles richtextbox1.textChanged
index=richtextbox1.selectionStart
currentLine=richtextbox.GetLineFromCharIndex(index)
End sub

 Private sub richtextbox1_vscroll()  handlesrichtextbox.vscroll
Dim i=currentLine 1
Richtextbox2.select(i,1)
Richtextbox2.scrollToCaret()
End sub
  

Комментарии:

1. Этот код неверен. Пожалуйста, опубликуйте свой фактический код и объясните, как вы инициализируете (и обновляете) переменную currentLine

2. публично инициализируется как целое число со значением 0.Текущая строка обновляется внутри вложенного richtextbox1.textchanged

3. Какова цель здесь? Прокручивать второй RTB при прокрутке первого? Когда? Когда изменяется текст RTB1? Когда пользователь перемещает текущую точку вставки? Когда полосы прокрутки перемещаются? Все / некоторые из вышеперечисленных?

4. Цель состоит в том, чтобы прокручивать второй rtb при прокрутке первого. на самом деле мне это нужно для приложения texteditor rtb1 для строк rtb2 области кода, тогда при прокрутке должны прокручиваться оба rtb.

5. Можно ли для этого использовать P / Invoke (используя SendMessage)? Это самый простой метод, но, конечно, он будет работать только в Windows. Существует также автоматизация пользовательского интерфейса, но в данном случае она чрезмерно сложна без уважительной причины. Или просто вычисления. Но ваш код может стать (включая обработку ошибок / угловых регистров) слишком длинным.