C# RichTextBox 实现循环查找关键字
生活随笔
收集整理的這篇文章主要介紹了
C# RichTextBox 实现循环查找关键字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
實現(xiàn)效果如上圖,點擊“Search”按鈕,開始從文首查找關(guān)鍵字“menu”,并高亮,再次點擊“Search”按鈕,繼續(xù)查找下一個。查找到文末,自動從文首重新查找。
private int _searchIndex = 0;//查找開始位置/// <summary>/// 查找按鈕/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnSearch_Click(object sender, EventArgs e){var findWord = tbSearch.Text.Trim();if (string.IsNullOrEmpty(findWord) || string.IsNullOrEmpty(tbEditor.Text.Trim()) ) return;var searchResult = tbEditor.Find(findWord, _searchIndex, RichTextBoxFinds.None);if (searchResult == -1){if (_searchIndex == 0){/* MessageBoxTimeOut* 自定義的延時自動關(guān)閉提示,可以用 MessageBox提示用戶*/new MessageBoxTimeOut().Show(1000, @"未找到相關(guān)內(nèi)容!", @"提示", MessageBoxButtons.OK,MessageBoxIcon.Information);}/* _searchIndex>0 * 說明之前有查找結(jié)果,并且已經(jīng)越過最后一個查找結(jié)果位置后,則自動從頭開始查找。* 也可以提示用戶是否從頭查找。*/_searchIndex = 0; }else{tbEditor.Focus();tbEditor.Select(searchResult, findWord.Length);_searchIndex = searchResult + findWord.Length;}}/// <summary>/// 查找關(guān)鍵字變化后,重置_searchIndex/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void tbSearch_TextChanged(object sender, EventArgs e){_searchIndex = 0;}默認只做了向下查找功能,有興趣可以自已修改,增加向上查找功能,文末提示功能。
總結(jié)
以上是生活随笔為你收集整理的C# RichTextBox 实现循环查找关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 清除png图片的白色背景
- 下一篇: C# RichTextBox 做简单的H