C# RichTextBox 實現循環查找關鍵字

實現效果如上圖,點擊“Search”按鈕,開始從文首查找關鍵字“menu”,并高亮,再次點擊“Search”按鈕,繼續查找下一個。查找到文末,自動從文首重新查找。

        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* 自定義的延時自動關閉提示,可以用 MessageBox提示用戶*/new MessageBoxTimeOut().Show(1000, @"未找到相關內容!", @"提示", MessageBoxButtons.OK,MessageBoxIcon.Information);}/* _searchIndex>0 * 說明之前有查找結果,并且已經越過最后一個查找結果位置后,則自動從頭開始查找。* 也可以提示用戶是否從頭查找。*/_searchIndex = 0; }else{tbEditor.Focus();tbEditor.Select(searchResult, findWord.Length);_searchIndex = searchResult + findWord.Length;}}/// <summary>/// 查找關鍵字變化后,重置_searchIndex/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void tbSearch_TextChanged(object sender, EventArgs e){_searchIndex = 0;}

默認只做了向下查找功能,有興趣可以自已修改,增加向上查找功能,文末提示功能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286259.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言試題二十七之請編寫程序,實現矩陣(3行3列)的轉置(即行列互換)。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫一個…

網站常見漏洞-- XSS攻擊

跨站攻擊&#xff0c;即Cross Site Script Execution(通常簡寫為XSS&#xff0c;因為CSS與層疊樣式表同名&#xff0c;故改為XSS) 是指攻擊者利用網站程序對用戶輸入過濾不足&#xff0c;輸入可以顯示在頁面上對其他用戶造成影響的HTML代碼&#xff0c;從而盜取用戶資料、利用用…

【ArcGIS遇上Python】從入門到精通系列之第一章:ArcGIS Python簡介

文章目錄1. Python簡介2. Python的特點3. ArcGIS的腳本語言4. ArcGIS中的Python腳本編輯器1. Python簡介 Python是一種跨平臺的計算機程序設計語言。 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。最初被設計用于編寫自動化腳本(shell)&#xff0c;隨著版…

C# RichTextBox 做簡單的HTML代碼編輯器 ---------左側顯示行號

說明&#xff1a;此顯示行號為實際行號&#xff0c;不論是空行還是自動換行&#xff0c;都計算在內&#xff0c;跟實際IDE的行號不同&#xff0c;同步滾動會有半行高度以內的誤差。 實現原理&#xff0c;在RichTextBox 編輯器左側放置另一RichTextBox &#xff08;或其它控件也…

五、文章詳情頁制作及跳轉功能實現《iVX低代碼/無代碼個人博客制作》

注&#xff1a;iVX也有免費直播課《第八期直播課》 一、詳情頁制作 在之前的章節中&#xff0c;我們已經制作完畢了登錄、注冊、首頁等內容&#xff0c;在這一節中&#xff0c;我們編寫詳情頁以及詳情頁功能制作。 詳情頁頁面如下&#xff1a; 詳情頁頭部也就是一個頭部欄&…

c++ 數據類型轉換: static_cast dynamic_cast reinterpret_cast const_cast

c 數據類型轉換&#xff1a; static_cast dynamic_cast reinterpret_cast const_cast 【版權聲明】轉載請注明出處 http://www.cnblogs.com/TenosDoIt/p/3175217.html【目錄】 引言 static_cast 定義 dynamic_cast 定義 舉例&#xff1a;下行轉換&#xff08;把基類的指針或引用…

C語言試題二十八之編寫函數function功能是:從字符中刪除指定的字符,同一字母的大、小寫按不同字符處理。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 編寫函數f…

日用有余!國產中科方德桌面操作系統初體驗

國產IT圈里最受關注的話題&#xff0c;除了芯片想必就是操作系統了。但真說起國產操作系統&#xff0c;大家是既熟悉又陌生&#xff0c;聽說過的多而真正使用過的少。而伴隨產業發展&#xff0c;市面上也涌現出眾多國產操作軟件&#xff0c;這些系統是否好用&#xff1f;能否滿…

面試經驗總結

8 transient是干嘛的 Java的serialization提供了一種持久化對象實例的機制。當持久化對象時&#xff0c;可能有一個特殊的對象數據成員&#xff0c;我們不想用 serialization機制來保存它。為了在一個特定對象的一個域上關閉serialization&#xff0c;可以在這個域前加上關鍵字…

【GIS風暴】ArcGIS柵格重采樣(Resample)方法詳解

Contents 1. 最鄰近法(Nearest Neighbor)2. 雙線性內插法(Bilinear Interpolation)3. 三次卷積法(Cubic Convolution)4. ArcGIS重采樣工具(Resample)柵格/影像數據進行配準或糾正、投影等幾何變換后,像元中心位置通常會發生變化,其在輸入柵格中的位置不一定是整數的行…

Unhandled event loop exception PermGen space

原來一直用eclipse3.5&#xff0c;最近嘗試升級到3.7和4.2&#xff0c;但不管是3.7還是4.2項目編譯過程中總提示“Unhandled event loop exception PermGen space”要求退出workspace&#xff0c;與原來3.5版本比較了一下eclipse.ini參數設置發現沒有差別&#xff0c;懷疑是公司…

C# RichTextBox 做簡單的HTML代碼編輯器 ---------利用WinApi修正左側顯示行號 誤差

說明&#xff1a;通過WinApi可以準確定準滾動位置。 //行號 生成顯示 這里rtbLineNum用的 RichTextBox&#xff0c;也可以用其它private void ShowLineNum(){rtbLineNum.Text "";//計算行高&#xff0c;行數int linesLength 0;var pFirst tbEditor.GetPositionFr…

Angular - - angular.element

angular.element 將DOM元素或者HTML字符串一包裝成一個jQuery元素。 格式&#xff1a;angular.element(element); element&#xff1a;包裝成jquery對象的html字符串或者dom元素 jqLite提供的方法&#xff1a; addClass()after()append()attr()bind() – 不支持命名空間,選擇器…

六、文章詳情顯示及點贊實現《iVX低代碼/無代碼個人博客制作》

注&#xff1a;iVX也有免費直播課《第八期直播課》 一、文章詳情實現 上一節我們已經完成了首頁的內容顯示&#xff0c;那么此時我們完成點擊后跳轉到詳情頁內容。 那么此時由于我們需要跳轉到詳情頁需要對應的數據ID&#xff0c;那么此時還需要給首頁的文章數據對象數組一個…

centos格式化xfs文件系統格式并設置自動啟動掛載磁盤

文章目錄 說明操作步驟 說明 非全方位資料&#xff0c;學習實踐而來&#xff0c;歡迎參考學習 操作步驟 要將 /dev/sdb1 分區快速格式化為 XFS 文件系統并設置開機自動掛載&#xff0c;可以按照以下步驟進行操作&#xff1a; 查看已連接的硬盤列表&#xff0c;主要是設備名稱…

System.CommandLine選項Option

前一篇簡單看了一下CommandLine命令的使用&#xff0c;其實在一個命令行工具中&#xff0c;還有一個重要的點&#xff0c;那就是選項——Option&#xff0c;選項是為命提供參數&#xff0c;就好像C#中方法&#xff0c;Command就像方法&#xff0c;Option就像方法的參數&#xf…

長尾關鍵詞如何優化

長尾關鍵詞流量占據全站流量的80%&#xff0c;這是根據御梵景觀后臺數據得出來的結論&#xff0c;千萬不要以為泛關鍵詞給網站帶來的流量大&#xff0c;打個比方花園設計一天帶100個 流量&#xff0c;但是花園設計案例帶10個&#xff0c;花園設計效果圖帶10個&#xff0c;花園設…

【ArcGIS風暴】ArcGIS10.6柵格計算器(Raster Calculator)用法詳解

擴展閱讀: 【ArcGIS風暴】ArcGIS 10.2柵格計算器實用公式大全(經典珍藏版) 【ArcGIS風暴】柵格計算器(Raster Calculator)運算出現錯誤問題及解決方案匯總 文章目錄 1. 柵格計算器簡介2. 柵格計算器用法3. 簡單算術運算4. 數學函數運算5. 空間分析函數運算1. 柵格計算器簡…

C語言試題二十九之編寫函數int function(int lim,int aa[max])求出小于或等于lim的所有素數并放在aa數組中,該函數返回所求的素數的個數。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 編寫函數i…

三、登錄頁制作《iVX低代碼/無代碼個人博客制作》

注&#xff1a;iVX也有免費直播課《第八期直播課》 一、登錄頁實現 本節需要做的登錄頁如下&#xff1a; 該頁面我們復習可以的值&#xff0c;首先設置整個頁面頁面的垂直和水平對其為居中&#xff0c;隨后一個容器包裹對應的登錄區域&#xff0c;此時我們創建一個頁面命名為…