RichTextBox控件

RichTextBox是一种既可以输入文本、 又可以编辑文本的文字处理控件, 与TextBox控件相比, RichTextBox控件的文字处理功能更加丰富, 不仅可以设定文字的颜色、 字体, 还具有字符串检索功能。 另外, RichTextBox控件还可以打开、编辑和存储.rtf格式文件、ASCII文本格式文件及Unicode编码格式的文件。
1、常用属性
上面介绍的 TextBox 控件所具有的属性,RichTextBox 控件基本上都具有,除此之外,该控件还具有一些其他属性。
(1)RightMargin属性:
用来设置或获取右侧空白的大小,单位是像素。通过该属性可以设置右侧空白,如希望右侧空白为50像素,可使用如下语句:
RichTextBox1.RightMargin=RichTextBox1.Width-50;
(2)Rtf属性:
用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。可以使用此属性将RTF格式文本放到控件中以进行显示,或提取控件中的RTF格式文本。此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换信息。
(3)SelectedRtf 属性:
用来获取或设置控件中当前选定的 RTF 格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本,则给该属性所赋的文本值将替换掉选定文本。 (4)SelectionColor属性:
用来获取或设置当前选定文本或插入点处的文本颜色。 (5)SelectionFont属性:用来获取或设置当前选定文本或插入点处的字体。

2、常用方法 - 7 -
前面介绍的 TextBox 控件所具有的方法,RichTextBox 控件基本上都具有,除此之外,该控件还具有一些其他方法。
(1)Redo方法:
用来重做上次被撤销的操作。调用的一般格式如下: RichTextBox对象.Redo() 该方法无参数。
(2)Find方法:
用来从RichTextBox控件中查找指定的字符串。经常使用的调用格式如下: [格式1]:
RichTextBox对象.Find(str)
[功能]:在指定的“RichTextBox”控件中查找文本,并返回搜索文本的第一个字符在控件内的位置。如果未找到搜索字符串或者str参数指定的搜索字符串为空,则返回值为1。 [格式2]:
RichTextBox对象.Find(str,RichTextBoxFinds)
[功能]:在“RichTextBox 对象”指定的文本框中搜索 str 参数中指定的文本,并返回文本的第一个字符在控件内的位置。如果返回负值,则未找到所搜索的文本字符串。还可以使用此方法搜索特定格式的文本。参数RichTextBoxFinds指定如何在控件中执行文本搜索,其取值及其含义如表9-4 所示。 [格式3]:
RichTextBox对象.Find(str,start,RichTextBoxFinds)
[功能]:这里Find方法与前面的格式2 基本类似,不同的只是通过设置控件文本内的搜索起始位置来缩小文本搜索范围,start参数表示开始搜索的位置。此功能使用户得以避开可能已搜索过的文本或已经知道不包含要搜索的特定文本的文本。如果在options参数中指定了RichTextBoxFinds.Reverse值,则 start参数的值将指示反向搜索结束的位置,因为搜索是从文档底部开始的。
(3)SaveFile方法:用来把RichTextBox中的信息保存到指定的文件中,调用格式有以下三种。 [格式1]: RichTextBox对象名.SaveFile(文件名);
[功能]:将 RichTextBox控件中的内容保存为RTF格式文件中。
[格式2]: RichTextBox对象名.SaveFile(文件名,文件类型);
[功能]:将 RichTextBox控件中的内容保存为“文件类型”指定的格式文件中。

[格式3]: RichTextBox对象名.SaveFile(数据流,数据流类型);
[功能]:将 RichTextBox控件中的内容保存为“数据流类型”指定的数据流类型文件中。 其中,文件类型或数据流类型的取值及含义如表9-5所示。
(4)LoadFile方法:使用LoadFile方法可以将文本文件、RTF文件装入RichTextBox控件。主要的调用格式有以下三种。
[格式1]: RichTextBox对象名.LoadFile(文件名); - 8 –
[功能]:将RTF格式文件或标准ASCII文本文件加载到RichTextBox控件中。 [格式2]: RichTextBox对象名.LoadFile(数据流,数据流类型); [功能]:将现有数据流的内容加载到RichTextBox控件中。 [格式3]: RichTextBox对象名.LoadFile(文件名,文件类型); [功能]:将特定类型的文件加载到RichTextBox控件中。 注意:文件类型和数据流格式见表9-5。

RichTextBox控件
一、显示滚动条
RichTextBox可设置Multiline属性来控制是否显示滚动套,true为是,false为否。,默认为true。(此项属性在TextBox亦可实现)

滚动条分为两种:水平(Horizontal)滚动条和垂直(Vertical)滚动条,通过RichTextBox的ScrollBars属性设置如何显示滚动条。(此项属性在TextBox亦可实现)

ScrollBars属性值:

1、Both:只有当文本超过RichTextBox的宽度或长度时,才显示水平滚动条或垂直滚动条,或两个滚动条都显示。

2、None:从不显示任何类型的滚动条。

3、Horizontal:只有当文本超过RichTextBox的宽度时,才显示水平滚动条。必须将WordWrap属性设置为false,才会出现这种情况。(下面将会给出解释)

4、Vertical:只有档文本超过RichTextBox的高度时,才显示垂直滚动条。

5、ForcedHorizontal:当WordWrap属性设置为false时,显示水平滚动条。在文本未超过RichTextBox的宽度时,该滚动条显示为浅灰色。

6、ForcedVertical:始终显示垂直滚动条。在文本未超过RichTextBox的长度时,该滚动条显示为浅灰色。

7、ForcedBoth:始终显示垂直滚动条。当WordWrap属性设置为false时,显示水平滚动条。在文本未超过RichTextBox的宽度或长度时,两个滚动条均显示为灰色。

注:RichTextBox的WordWrap属性:用于指示多行文本框控件在必要时是否换行到下一行的开始。当属性为true时,不论ScrollBars属性值是什么,都不会显示水平滚动条。

private void Form1_Load(object sender, EventArgs e) //窗体的Load事件
{

   richTextBox1.Multiline =  true ;     //将Multiline属性设置为true,实现显示多行
     richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical; //设置ScrollBars属性实现只显示垂直滚动

}

设置字体属性

private void Form1_Load(object sender, EventArgs e) //窗体的Load事件
{
  richTextBox1.Multiline = true ;  //将Multiline属性设为true,实现显示多行
  richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical;  //设置ScrollBars属性实现只显示垂直滚动条
  richTextBox1.SelectionFont = new Font ("楷体", 12, FontStyle.Bold);  //设置SelectionFont属性实现控件中的文本为楷体,大小为12,字样是粗体
  richTextBox1.SelectionColor = System.Drawing.Color.Red;    //设置SelectionColor属性实现控件中的文本颜色为红色
}

将RichTextBox控件显示为超链接样式

将以“http://”开头的Web链接地址作为超链接文本时,运行时RichTextBox超链接文本会自动变成蓝色字体且有下划线。

private void Form1_Load(object sender, EventArgs e)           //窗体的Load事件
{
  richTextBox1.Multiline = true ;   //将Multiline属性设为true,实现显示多行
  richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical;   //设置ScrollBars属性实现只显示垂直滚动条
  richTextBox1.Text = "http://www.baidu.com百度一下你就知道";   //设置Text属性
}

private void richTextBox1_LinkClicked(object sender, EventArgs e)
{
  System.Diagnostics.Process.Start(e.LinkText);                   //在控件LinkClicked事件中编写如下代码实现内容中的网址单击后可以访问网址
}

三、设置段落格式
可通过设置SelectionBullet属性将选定的段落设置为项目符号列表的格 式,也可以使用SelectionIndent属性和SelectionHangingIndent属性设置段落相对于控件的左右边缘进行缩进。下面用代 码将控件的SelectionBullet属性设置为true,使控件中的内容以项目符号列表的格式排列。

private void Form1_Load(object sender, EventArgs e)
{
  richTextBox1.Multiline = true ;   
    richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical ;
  richTextBox1.SelectionBullet = true ;
}

通过SelectionIndent属性设置一个整数,该整数表示控件的左边缘和文本的左边缘之间的距离(以像素为单位)。通过SelectionRightIndent属性设置一个整数,该整数表示控件的右边缘与文本的右边缘之间的距离(以像素为单位)。

以下通过代码实现SelectionIndent属性设置。

private void Form1_Load(object sender, EventArgs e)
{
  richTextBox1.Multiline = true ;
  richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical ;
  richTextBox1.SelectionIndent = 50 ;
}

四、常用功能
1.RichTextBox控件的常用属性
richTextBox1.SelectionFont=fontDialog1.Font; //设置为字体对话框中选中的字体
3)SelectionColor:获取或设置选中的文本或插入点的文本颜色。
4)SelectionAlignment:获取或设置应用到当前选定内容或插入点的对齐方式。
5)Lines属性——字符串数组。记录输入到RichText控件中的所有文本,每按两次回车键之间的字符串是该数组的一个元素。
6)Modifyed属性——记录用户是否已修改控件中的文本内容。若已修改,该属性值自动设置为true。
7)HideSelection属性——设置当焦点离开该控件时,选定的文本是否保持突出显示。值为false时突出显示。

2.RichTextBox控件的常用事件
1)SelectionChange事件——控件中选中的文本发生改变时,触发该事件。
2)TextChanged事件——控件中的文本内容发生改变时,触发该事件。

3.RichTextBox控件的常用方法
1)Clear( )方法——清除RichText控件中用户输入的所有内容。
2)Copy( )、Cut( )、Paste( )方法——实现RichText控件的剪贴板功能;
3)SelectAll( )方法——选中控件中的所有文本。 4)Find( )方法——实现查找功能。
5)SaveFile( )方法、LoadFile( )方法——保存文本和打开文件。
6)Undo( )方法、Redo( )方法——撤销上一次编辑操作、重做上次撤销的编辑操作。
说明:常与CanUndo属性和CanRedo属性配合使用。
7)LoadFile()——加载文本文件(.txt)或RTF文件(.rtf)。
8)SaveFile()——保存文本文件(.txt)或RTF文件(.rtf)。

  1. 将文件加载到RichTextBox 对象中
    (1)一般格式
    RichTextBox对象名.LoadFile(文件名,文件类型);
    (2)说明
    RichTextBox 控件可以显示纯文本、Unicode 纯文本或 RTF 格式文件。若要显示这些文件,可调用 LoadFile 方法。例如,使用打开文件对话框选择一个文本文件并加载到richTextBox1控件中,代码如下:
    openFileDialog1.Filter=”文本文件(.txt)|.txt|所有文件(.)|.“;
    if(openFileDialog1.ShowDialog()==DialogResult.OK)
    {
    string fName=openFileDialog1.FileName;
    richTextBox1.LoadFile(fName,RichTextBoxStreamType.PlainText );
    }
    1. 保存RichTextBox 对象中的文件
      用SaveFile( )方法
      ichTextBox对象名.SaveFile(文件名,文件类型);
      (2)使用说明
      同LoadSave( )方法。
//保存RTF格式文件
saveFileDialog1.Filter="RTF文件(*.rtf)|*.rtf"; saveFileDialog1.DefaultExt="rtf";<br>//默认的文件扩展名
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
richTextBox1.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.RichText );   
  1. 插入图片文件
    可借助剪贴板实现.
Clipboard.Clear();   //清空剪贴板
Bitmap bmp = new Bitmap(@"d:\图片1.jpg");  //创建Bitmap类对象
Clipboard.SetImage(bmp);  //将Bitmap类对象写入剪贴板
richTextBox1.Paste();   //将剪贴板中的对象粘贴到RichTextBox1
  1. 其它补充内容
    TextBox控件用到的所有属性、事件和方法,RichTextBox控件几乎都能支持,例如 MaxLength、MultiLine、ScrollBars、SelLength、SelStart 和 SelText。
    注意:
    TextBoxBase.Undo 方法不可用于 KeyPress 或 TextChanged 事件。
    RichTextBox 控件没有TextBox控件一样具有64K字符容量的限制。
    RichTextBox 控件提供许多可对控件内任何文本部分应用格式设置的属性。若要更改文本的格式设置,必须首先选定此文本。只能为选定的文本分配字符和段落格式设置。对选定 的文本内容进行设置后,在选定内容后输入的所有文本也用相同的设置进行格式设置,直到更改设置或选定控件文档的不同部分为止。SelectionFont 属性使您得以将文本以粗体或斜体显示。还可以使用此属性更改文本的大小和字样。SelectionColor 属性使您得以更改文本的颜色。若要创建项目符号列表,可以使用 SelectionBullet 属性。还可以通过设置 SelectionIndent、SelectionRightIndent 和 SelectionHangingIndent 属性调整段落格式设置。

RichTextBox 控件提供具有打开和保存文件的功能的方法。
LoadFile 方法使您得以将现有的 RTF 或 ASCII 文本文件加载到控件中。还可以从已打开的数据流加载数据。SaveFile 使您得以将文件保存到 RTF 或 ASCII 文本中。与 LoadFile 方法相似,还可以使用 SaveFile 方法保存到开放式数据流。

Find 方法被重载,可以同时查找控件文本内的文本字符串以及特定字符。
也可以将 RichTextBox 控件初始化为内存中存储的数据。例如,可以将 Rtf 属性初始化为包含要显示文本的字符串,包括确定如何设置该文本格式的 RTF 代码。
可以使用 DetectUrls 属性适当地显示控件文本中的链接(如到网站的链接)。然后可以处理 LinkClicked 事件以执行与该链接关联的任务。
SelectionProtected 属性使您得以保护控件内的文本不被用户操作。当控件中有受保护的文本时,可以处理 Protected 事件以确定用户何时曾试图修改受保护的文本,并提醒用户该文本是受保护的,或向用户提供标准方式供其操作受保护的文本。

例1
将 RTF 文件加载到控件中并搜索单词“Text”的第一个实例。然后代码更改选定文本的字体样式、字体大小和字体颜色并将更改保存到原始文件。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值