shaileshshinde Ответов: 1

Проблема наведения курсора новой строки в richtextbox


при вставке строки после нажатия кнопки курсор не будет направлен на новую строку


итак,могу ли я получить некоторую помощь для решения моей проблемы?

Что я уже пробовал:

Richtextbox1 отображение.Текст = Richtextbox1 Отображение.Текст.Вставка(Richtextbox1 Отображение.Объект Selectionstart, Окружающей Среды.Строки)

1 Ответов

Рейтинг:
6

Richard MacCutchan

Тот же вопрос, что и ваш другой вопрос: https://www.codeproject.com/Questions/5099718/Save-error-in-richtextbox-in-VB-NET[^]. Пожалуйста, ознакомьтесь с документацией для RichTextBox.


shaileshshinde

значит? я не в состоянии понять.

могу я получить код?

Richard MacCutchan

Какой код? Мы понятия не имеем, что делает ваш код или что не работает. Вы проверили документацию, чтобы увидеть, что происходит, когда вы добавляете текст в то, что делает ваше приложение?

shaileshshinde

в richtextbox используется следующий код:
Richtextbox1 отображение.Текст = Richtextbox1 Отображение.Текст.Вставка(Richtextbox1 Отображение.Объект Selectionstart, Окружающей Среды.Строки)

я добавил новую пустую строку.но я хочу, чтобы после добавления новой пустой строки курсор был направлен на пустую строку.но в моем случае курсор не будет направлен на эту пустую строку

Richard MacCutchan

Вероятно, потому, что фокус все еще на кнопке. Вызвать метод фокусировки на элементе управления richtextbox.

shaileshshinde

@Richard focus переходит к первой строке richtextbox.

мне нужно сосредоточиться на новой строке, добавленной после выполнения кода.

есть ли у них какое-то решение для этого?

shaileshshinde

@Richard я использую приведенный ниже код:
Private Sub insertrichtextboxlineButton3_Click(sender As Object, e As EventArgs) обрабатывает Button3.Щелчок

Richtextbox1 отображение.Текст = Richtextbox1 Отображение.Текст.Вставка(Richtextbox1 Отображение.Объект Selectionstart, Окружающей Среды.Строки)
Richtextbox1 отображение.Сосредоточить()
Конец Подводной Лодки

по прибытии в RichTextBox1.Focus() фокус переходит в первую строку richtextbox.

Richard MacCutchan

Извините, но мои предыдущие тесты были ошибочными. Я попробовал еще раз, и оказалось, что сброс текста в поле помещает курсор в начало текста. Попробовать следующее:

Dim sel As Integer
sel = RichTextBox1.SelectionStart

RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionStart, Environment.NewLine)
RichTextBox1.SelectionStart = sel + 1
RichTextBox1.Focus()

shaileshshinde

спасибо, приятель, проблема решена с вашей помощью.

Richard MacCutchan

И, конечно же, вы могли бы просто сделать:

RichTextBox1.AppendText(Environment.NewLine)

shaileshshinde

будет ли та же техника работать с удалением линии и фокусировкой на более ранней линии
как я уже пробовал ниже код:
Дим сел, как целое
выб = richtextbox1 отображение.Объект selectionstart


Richtextbox1 отображение.SelectedText = Richtextbox1 Отображение.SelectedText.Удалить(0)
RichTextBox1.SelectionStart = sel - 1
Richtextbox1 отображение.Сосредоточить()


что помогает мне удалить выделенный текст, но удаленная строка теперь пуста.
как удалить эту пустую строку с помощью удаления строки вместе

Richard MacCutchan

Он удалит только выбранный вами текст, поэтому вам нужно включить lf в конце.

shaileshshinde

Значит, что именно нужно сделать?

Richard MacCutchan

Вам нужно попробовать несколько простых тестов. Добавьте несколько строк текста в текстовое поле, а затем попробуйте удалить различные выделенные элементы, пока не найдете тот, который работает. Используйте отладчик, чтобы каждый раз точно видеть, что выбирается, а что исключается.

shaileshshinde

Хорошо