C# richTextBox 控件使用说明

原创 2013年12月03日 17:44:57


查找richTextBox 字符串:

 该方法是可以实现查询字符串,但多个就不成功了
string s="";
int index = this.richTextBox1.Find(s);
if (index < 0)
{
    MessageBox.Show("查找不到");
    return;
}
this.richTextBox1.SelectionStart = index;
this.richTextBox1.SelectionLength = s.Length;
this.richTextBox1.Focus();


查找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);
      }
   }
}


.Net (C#) 在学习中遇到的RichTextBox控件的一些属性和方法

richTextBox1.Text  :获取或设置文本框的当前文本内容。richTextBox1.SelectionStart:获取或设置光标在文本框的位置(文本框必须有内容)。richTextBox...
  • Z378899073
  • Z378899073
  • 2011年01月31日 11:04
  • 2566

RichTextBox控件 可读取rtf

可用RichTextBox控件读取rtf:     rtf 模版格式($:Text为内容): public const String DefaultRtfTemplate = @"{/rtf1/ans...
  • sowhat430
  • sowhat430
  • 2010年05月26日 16:06
  • 5958

C#为控件添加拖拽文件事件

///给自己留个笔记而已,看不懂的可以私密哦~~~ #region 拖放文件函数 private void listBoxMusic_DragEnter(object s...
  • enzaikenan
  • enzaikenan
  • 2014年01月11日 23:25
  • 961

C# 检测RichTextBox 实际行数

碰到的问题: 我们的程序需要做文本的行数控制,也就是当文本输入至指定行数时,再增加行数就会出现警告,不能再进行输入了。最初的解决方法:       因为RichTextBox本身带有Lines属性,所...
  • gc_2299
  • gc_2299
  • 2017年11月12日 19:56
  • 138

(转载)C#richTextBox中的内容换行

要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时可能会遇到点麻烦,也许你会想到直接加一个换行符"\n": ...
  • yysyangyangyangshan
  • yysyangyangyangshan
  • 2012年02月17日 19:21
  • 19472

C# winform程序用 richtextbox 控件直接保存至txt文本文件

System.Windows.Forms.SaveFileDialog objSave = new System.Windows.Forms.SaveFileDialog(); objSave.Fi...
  • gaoxiang19820514
  • gaoxiang19820514
  • 2011年11月05日 13:11
  • 4995

c# 将日志文件显示在RichTextBox控件里

//由于日志中含有中文,用常用的LoadFile方法会含有乱码,所以用这种流的方式,一行一行的读。 string fullPath = @"F:\comback\Release...
  • config_man
  • config_man
  • 2012年12月18日 15:54
  • 3148

C#RichTextBox实现(复制, 剪切,粘贴,全选)

转:http://www.cnblogs.com/JuneZhang/archive/2011/05/20/2051973.html   实现该菜单功能主要有两种方法: 第一种:通过发送击键...
  • foart
  • foart
  • 2011年10月08日 10:23
  • 11337

c#中richTextBox的用法

C# RichTextBox的用法 RichTextBox是一种可用于显示、输入和操作格式文本,除了可以实现TextBox的所有功能,还能提供富文本的显示功能。 控件除具有TextBox 控...
  • yinbucheng
  • yinbucheng
  • 2017年03月02日 17:11
  • 1607

RichTextbox保存为图片

FileStream pngfs = new FileStream("C:\\1.png", FileMode.OpenOrCreate); RenderTargetBitmap rtb = ...
  • ima_zhan
  • ima_zhan
  • 2014年09月05日 23:28
  • 1016
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# richTextBox 控件使用说明
举报原因:
原因补充:

(最多只允许输入30个字)