c #; Переместить полосу прокрутки к месту искомого слова

#c# #find #scrollbar

#c# #Найти #полоса прокрутки

Вопрос:

Я написал код, который находит слово в richtextbox. Теперь я хочу переместить полосу прокрутки в местоположение искомого слова. Пожалуйста, помогите мне!!!

  int j,count = 0;
        string keyword = txtSearchByWords.Text;
        int startPosition = 0; //initializing starting position to search
        int endPosition = 0;
        int endArticle = rtbWords.Text.Length;
        for (j = 0; j < endArticle; j = startPosition)//creating a loop until ending the article
        {
            if (j == -1) //if the loop goes to end of the article then stop
            {
                break;
            }
            startPosition = rtbWords.Find(keyword, startPosition, endArticle, RichTextBoxFinds.WholeWord);
            if (startPosition >= 0)     //if match the string                                                         
            {
                count  ;//conunting the number of occuerence or match the search string
                rtbWords.SelectionBackColor = Color.Orange;//coloring the matching string in the article
                endPosition = txtSearchByWords.Text.Length;
                startPosition = startPosition   endPosition;//place the starting position at the next word of previously matching string to continue searching.
            }
 

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

1. Это выглядит как просто внутренняя логика. Каков пользовательский интерфейс для этого? Я не уверен, что мы сможем вам помочь, не видя кода пользовательского интерфейса. Не могли бы вы поделиться им, пожалуйста? Это веб-приложение? Приложение WinForms? Приложение UWP?

2. поле с расширенным текстом в winfom csharp

Ответ №1:

используйте ScrollToCaret для прокрутки до местоположения искомого слова в поле форматированного текста

 rText.SelectionStart = rtext.Text.Length;//set the start location
rText.ScrollToCaret();