(C#)RichTextBox控件查找文本演示(功能全)
(C#)RichTextBox控件查找文本演示(功能全)
RichTextBox控件查找文本演示,包括查找第一个/下一个/上一个/最后一个. 网上有很多方法,但是不能实现查询上一个功能。 using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Drawing; namespace vjsdn_tester { //操作RichTextBox控件的类. by www.csframework.com public class RichTextBoxTool { /// <summary> /// 自己定义查找方法.参数content是要查询的内容. /// type是查询条件.如:从文件头部向下查询,从文件尾部向上查询. /// 如type= RichTextBoxFinds.None 表示从文件头部向下查询. /// </summary> public static void FindText(RichTextBox rich, string content, RichTextBoxFinds options) { int startIndex; int endIndex; if ((options & RichTextBoxFinds.Reverse) == RichTextBoxFinds.Reverse) { startIndex = 0; endIndex = rich.SelectionStart; } else { startIndex = rich.SelectionStart + rich.SelectionLength; endIndex = rich.Text.Length; } int index = rich.Find(content, startIndex, endIndex, options); if (index >= 0) //如果找到 ShowSelection(rich, index, content.Length); else MessageBox.Show("Not found!"); } //查找第一个 public static void FindFirst(RichTextBox rich, string content) { int index = rich.Find(content, 0); if (index >= 0) ShowSelection(rich, index, content.Length); } //查找最后一个 public static void FindLast(RichTextBox rich, string content) { int index = rich.Find(content, rich.Text.Length, RichTextBoxFinds.Reverse); if (index >= 0) ShowSelection(rich, index, content.Length); } //选择搜索到的文本 private static void ShowSelection(RichTextBox rich, int index, int length) { rich.SelectionStart = index; rich.SelectionLength = length; rich.SelectionColor = Color.Red; rich.Focus(); } } } 测试代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace vjsdn_tester { public partial class frmRichboxSearher : Form { public frmRichboxSearher() { InitializeComponent(); } //查找下一个单词 private void btnFindNext_Click(object sender, EventArgs e) { string content = txtContent.Text; RichTextBoxTool.FindText(this.richTextBox1, content, RichTextBoxFinds.None); } //查找第一个单词 private void btnFindFirst_Click(object sender, EventArgs e) { string content = txtContent.Text; RichTextBoxTool.FindFirst(this.richTextBox1, content); } //查找上一个单词 private void btnFindPrior_Click(object sender, EventArgs e) { string content = txtContent.Text; RichTextBoxTool.FindText(this.richTextBox1, content, RichTextBoxFinds.Reverse); } //查找最后一个单词 private void btnFindLast_Click(object sender, EventArgs e) { string content = txtContent.Text; RichTextBoxTool.FindLast(this.richTextBox1, content); } } }
参考文档:
C#-C/S结构系统框架 - 功能介绍 C#.Net自定义控件 - GridPopupContainerEdit C# 模拟VisualStudio窗体设计器拖放控件 C#调用Delphi编译的DLL函数库返回大文本数据 C# Barcode条码控件使用方法 C# ImageListView控件下载(源代码) C#制作透明背景GIF动画(演示+源码) C#.Net用户自定义控件制作教程 C# GridView列头添加CheckBox控件实现全选功能 C#实现DevExpress控件换肤功能 C#开发自定义控件-设置显示工具箱中的图标 C# 实现完整功能的截图控件(1)-实现绘图工具栏控件 C#控制台窗体(Console Window)内容输出到文本文件 C# RichTextbox中插入图片 .NET RichTextBox控件使用详解
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |