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;}
默认只做了向下查找功能,有兴趣可以自已修改,增加向上查找功能,文末提示功能。
C# RichTextBox 实现循环查找关键字相关推荐
- 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装4
多线程循环输出abcc++ Program 1: 程序1: #include <iostream> using namespace std; int A = 5; int fun() { ...
- 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装5
多线程循环输出abcc++ Program 1: 程序1: #include <iostream> using namespace std; int main() { int num = ...
- 多线程循环输出abcc++_C ++循环| 查找输出程序| 套装2
多线程循环输出abcc++ Program 1: 程序1: #include<iostream> using namespace std; int main() { for(;;) { c ...
- 超大文件中查找关键字
一个有10亿条记录的文本文件,已按照关键字排好序存储.请设计算法,可以快速的从文件中查找指字关键字的记录. 因为已经排好序了,可以使用 二分查找方法检索. 又因为文件过于庞大,可以将文件File分成1 ...
- 给定一组查找关键字(19,14,23,1,65,20,84,27,55,11,10,79) 哈希函数为:H(key)=key % 13, 哈希表长为m=15,设每个记录的查找概率相等。【MOOC】
目 录 题 目①[关键字(19, 14, 23, 1, 65, 20, 84, 27, 55, 11, 10, 79)] 解法一(线性探测再散列) 解法二(链地址法) 题 目②[关键字(19, 1 ...
- 根据窗口名称查找关键字弹性域用到的表,列等信息
/* 根据窗口名称查找关键字弹性域用到的表,列等信息*/ -- select c.id_flex_name, a.id_flex_structure_name, b.for ...
- 二分法在数组内查找数c语言,C++二分法在数组中查找关键字的方法
本文实例讲述了C++二分法在数组中查找关键字的方法.分享给大家供大家参考.具体如下: /* 此程序演示了二分法查找算法(针对按从小到大排列的数组)的实现. */ #include using name ...
- c语言for循环++_C ++程序使用循环查找数字的幂
c语言for循环++ Here, we are going to calculate the value of Nth power of a number without using pow func ...
- tail -f 查找关键字_C语言九种查找算法 | 总有一款适合你
时间.空间复杂度比较 查找算法 平均时间复杂度 空间复杂度 查找条件 顺序查找 O(n) O(1) 无序或有序 二分查找(折半查找) O(log2n) O(1) 有序 插值查找 O(log2(log2 ...
最新文章
- 当AI学会高数:解题、出题、评分样样都行
- Self20171218_TestNG+Maven+IDEA环境搭建
- Spring MVC 基于AnnotationFormatterFactory接口实现自定义的规则
- HDFS文件详情查看案例
- 利用委托机制处理.NET中的异常
- WPF 文本呈现(2)
- extjs用iframe的问题
- python-数据结构-栈
- 中关村-DIY高清之HDMI线导购
- spring.profiles.active配置了没生效_微服务架构之「 配置中心 」
- MyBatis的概述及使用
- OAuth 2.0介绍
- FreeBSD 恢复root密码-FreeBSD 5 或都之后版本.
- I00007 打印菱形字符图案
- 儿歌-宝宝学唱儿歌 ios版
- MySQL常用命令介绍
- C语言函数指针和指针函数的定义和调用
- xul 和xml区别_使用Atom XML和Firefox XUL实施Web剪切和粘贴
- 读书之《别做正常的傻瓜》
- (二十一)资产(组合)的预期收益率和风险
热门文章
- 用VirtualWifi软件实现无线网卡同时连接多个AP。
- Asp.Net Core部署:早知道,还是docker!以及一点碎碎念
- JWT 介绍 - Step by Step
- Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库
- 让 .NET 轻松构建中间件模式代码
- ERP开放平台定制化远程高效协作秘笈
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...
- 当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记
- 在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)
- WinForms项目升级.Net Core 3.0之后,没有WinForm设计器?