Search and Highlight Text in a RichTextBox

tep 1: Create a new Windows Forms application. Drag and drop a RichTextBox(rtb) control, a textbox(txtSearch) and a button(btnFind) control to the form. The textbox will be used to enter the search string and on the button click, we will be performing a search in the RichTextBox. Add a class level variable called ‘start’. This variable will be the start position within the control's text from where you need to begin searching. Also add another variable called ‘indexOfSearchText’ to hold the position/index of the search string in the RichTextBox. C#

[code]
   int start = 0;
   int indexOfSearchText = 0;
[/code]

Step 2: In the button click event, add the following code. The FindMyText() function, which we will visit in Step 3, is called by passing the search string, the start and the end index. If the string is found in the RichTextBox, the position of the search string is returned and highlighted. The function has been marked with appropriate comments to help you understand the code. C#

[code]
    privatevoid btnFind_Click(object sender, EventArgs e)
    {
      int startindex = 0;
 
      if(txtSearch.Text.Length > 0)
        startindex = FindMyText(txtSearch.Text.Trim(), start, rtb.Text.Length);
 
      // If string was found in the RichTextBox, highlight it
      if (startindex >= 0)
      {
        // Set the highlight color as red
        rtb.SelectionColor = Color.Red;
        // Find the end index. End Index = number of characters in textbox
        int endindex = txtSearch.Text.Length;
        // Highlight the search string
        rtb.Select(startindex, endindex);
        // mark the start position after the position of
        // last search string
        start = startindex + endindex;
      }
    }
[/code]

Step 3: Now let us add the functionality to the FindNext() function. The function accepts the search string, and the start and end index. The search happens within the index specified. The validation occurs first where the start and end index are checked for valid values. We then use the Find() function of the RichTextBox to find the position of the search string in the RichtTextBox. If the string is found, the position of the string within the RichTextBox is returned. If the string is not found, -1 is returned. The function has been marked with appropriate comments to help you understand the code. C#

[code]
    publicint FindMyText(string txtToSearch, int searchStart, int searchEnd)
    {
      // Unselect the previously searched string
      if (searchStart > 0 && searchEnd > 0 && indexOfSearchText >= 0)
      {
        rtb.Undo();
      }
 
      // Set the return value to -1 by default.
      int retVal = -1;
 
      // A valid starting index should be specified.
      // if indexOfSearchText = -1, the end of search
      if (searchStart >= 0 && indexOfSearchText >=0)
      {
        // A valid ending index
        if (searchEnd > searchStart || searchEnd == -1)
        {
          // Find the position of search string in RichTextBox
          indexOfSearchText = rtb.Find(txtToSearch, searchStart, searchEnd, RichTextBoxFinds.None);
          // Determine whether the text was found in richTextBox1.
          if (indexOfSearchText != -1)
          {
            // Return the index to the specified search text.
            retVal = indexOfSearchText;
          }
        }
      }
      return retVal;
    }
[/code]

Step 4: If a user changes the search string in the textbox, you can handle the TextChanged event to reset the value of ‘start’ and ‘indexOfSearchText’ to zero. This starts the new search from the beginning. C#

[code]
    // Reset the richtextbox when user changes the search string
    privatevoid textBox1_TextChanged(object sender, EventArgs e)
    {
      start = 0;
      indexOfSearchText = 0;
    }
[/code]

[code]<a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=146" rel="noopener" target="_blank">dotnetcurry</a>[/code]

1396/8/12       00000             Search and Highlight Text in a RichTextBox       C#



 7Agahi.ir سامانه تبلیغاتی 7 آگهی
7Agahi.ir سامانه آگهی رایگان هفت آگهی


یادداشتها و چرکنویس های من parhost.net گروه فنی مهندسی پرهاست
یادداشتها و چرکنویس های من… یادداشتها ، مطالب ، نکات مهم و کاربردی … :: parhost.net گروه فنی مهندسی پرهاست


پایگاه اطلاع رسانی 88080.ir , پایگاه اطلاع رسانی ArcObject.ir , پایگاه اطلاع رسانی اطلس ها , پایگاه اطلاع رسانی با فرهنگ , پایگاه اطلاع رسانی بهترین گروه و انجمن , پایگاه اطلاع رسانی فروش محصولات فرهنگی , پایگاه اطلاع رسانی پرهام حیدرنیا , پایگاه اطلاع رسانی روندها Trand.ir , پایگاه اطلاع رسانی انجمن فناوری اطلاعات , پایگاه اطلاع رسانی اخترشناسان ایران , پایگاه اطلاع رسانی ابزارهای فناوری اطلاعات , پایگاه اطلاع رسانی آرک مپ ArcMap.ir , پایگاه اطلاع رسانی مدیریت و دسترسی به آدرسها و لینکهای اینترنتی , پایگاه اطلاع رسانی نرم افزارهای جغرافیایی , پایگاه اطلاع رسانی 42152.ir , پایگاه اطلاع رسانی شهید شیرودی , پایگاه اطلاع رسانی همیار اس ام اس و پیامک های انبوه
وبلاگ گروه فنی مهندسی پرهاست , , گروه فنی مهندسی پرهاست , , 7Agahi.ir سامانه آگهی رایگان هفت آگهی , , آموزش هنرهای دوزندگی و چهل تکه دوزی با شادی در شادی دوز با مدیریت مهین حیدرنیا ShadiDooz.ir , , وبلاگ پرهاست
Copyright © 2002-2018, farhangshop.ir. Design and Hosting by ParHost All Rights Reserved.
62