RichTextBox 类

表示 Windows 多格式文本框控件。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class RichTextBox
    Inherits TextBoxBase
用法
Dim instance As RichTextBox
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class RichTextBox : TextBoxBase
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
public ref class RichTextBox : public TextBoxBase
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class RichTextBox extends TextBoxBase
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class RichTextBox extends TextBoxBase

备注

用户可以通过 RichTextBox 控件输入和编辑文本。该控件还提供比标准 TextBox 控件更高级的格式设置功能。可以将文本直接分配给该控件,或者从 RTF 格式文件或纯文本文件加载文本。可以为控件内的文本分配字符和段落格式设置。

RichTextBox 控件提供许多可对控件内任何文本部分应用格式设置的属性。若要更改文本的格式设置,必须首先选定此文本。只能为选定的文本分配字符和段落格式设置。对选定的文本内容进行设置后,在选定内容后输入的所有文本也用相同的设置进行格式设置,直到更改设置或选定控件文档的不同部分为止。SelectionFont 属性使您得以将文本以粗体或斜体显示。还可以使用此属性更改文本的大小和字样。SelectionColor 属性使您得以更改文本的颜色。若要创建项目符号列表,可以使用 SelectionBullet 属性。还可以通过设置 SelectionIndentSelectionRightIndentSelectionHangingIndent 属性调整段落格式设置。

RichTextBox 控件提供具有打开和保存文件的功能的方法。LoadFile 方法使您得以将现有的 RTF 或 ASCII 文本文件加载到控件中。还可以从已打开的数据流加载数据。SaveFile 使您得以将文件保存到 RTF 或 ASCII 文本中。与 LoadFile 方法相似,还可以使用 SaveFile 方法保存到开放式数据流。RichTextBox 控件还提供查找文本字符串的功能。Find 方法被重载,可以同时查找控件文本内的文本字符串以及特定字符。

也可以将 RichTextBox 控件初始化为内存中存储的数据。例如,可以将 Rtf 属性初始化为包含要显示文本的字符串,包括确定如何设置该文本格式的 RTF 代码。

如果控件内的文本包含链接(如到网站的链接),则可以使用 DetectUrls 属性适当地显示控件文本中的链接。然后可以处理 LinkClicked 事件以执行与该链接关联的任务。SelectionProtected 属性使您得以保护控件内的文本不被用户操作。当控件中有受保护的文本时,可以处理 Protected 事件以确定用户何时曾试图修改受保护的文本,并提醒用户该文本是受保护的,或向用户提供标准方式供其操作受保护的文本。

已使用 TextBox 控件的应用程序很容易就可以调整为使用 RichTextBox 控件。但是,RichTextBox 控件没有与 TextBox 控件相同的 64K 字符容量限制。与字处理应用程序(如 Microsoft Word)类似,RichTextBox 通常用于提供文本操作和显示功能。

提示

TextBoxBase.Undo 方法不可用于 KeyPressTextChanged 事件。

示例

下面的代码示例创建一个 RichTextBox 控件,该控件将 RTF 文件加载到控件中并搜索单词“Text”的第一个实例。然后代码更改选定文本的字体样式、字体大小和字体颜色并将更改保存到原始文件。在代码示例的最后,将该控件添加到其 Form 中。本示例要求将代码示例中创建的方法添加到 Form 类中并从窗体的构造函数调用此方法。本示例还要求在 C 驱动器的根目录中创建一个包含单词“Text”的 RTF 文件。

Public Sub CreateMyRichTextBox()
    Dim richTextBox1 As New RichTextBox()
    richTextBox1.Dock = DockStyle.Fill
    
    
    richTextBox1.LoadFile("C:\MyDocument.rtf")
    richTextBox1.Find("Text", RichTextBoxFinds.MatchCase)
    
    richTextBox1.SelectionFont = New Font("Verdana", 12, FontStyle.Bold)
    richTextBox1.SelectionColor = Color.Red
    
    richTextBox1.SaveFile("C:\MyDocument.rtf", RichTextBoxStreamType.RichText)
    
    Me.Controls.Add(richTextBox1)
End Sub
public void CreateMyRichTextBox()
{
    RichTextBox richTextBox1 = new RichTextBox();
    richTextBox1.Dock = DockStyle.Fill;


    richTextBox1.LoadFile("C:\\MyDocument.rtf");
    richTextBox1.Find("Text", RichTextBoxFinds.MatchCase);

    richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
    richTextBox1.SelectionColor = Color.Red;

    richTextBox1.SaveFile("C:\\MyDocument.rtf", RichTextBoxStreamType.RichText);

    this.Controls.Add(richTextBox1);
}
public:
   void CreateMyRichTextBox()
   {
      RichTextBox^ richTextBox1 = gcnew RichTextBox;
      richTextBox1->Dock = DockStyle::Fill;

      richTextBox1->LoadFile( "C:\\MyDocument.rtf" );
      richTextBox1->Find( "Text", RichTextBoxFinds::MatchCase );

      richTextBox1->SelectionFont = gcnew System::Drawing::Font(
         "Verdana", 12, FontStyle::Bold );
      richTextBox1->SelectionColor = Color::Red;

      richTextBox1->SaveFile( "C:\\MyDocument.rtf",
         RichTextBoxStreamType::RichText );

      this->Controls->Add( richTextBox1 );
   }
public void CreateMyRichTextBox()
{
    RichTextBox richTextBox1 = new RichTextBox();

    richTextBox1.set_Dock(DockStyle.Fill);
    richTextBox1.LoadFile("C:\\MyDocument.rtf");
    richTextBox1.Find("Text", RichTextBoxFinds.MatchCase);
    richTextBox1.set_SelectionFont(new Font
        ("Verdana", 12, FontStyle.Bold));
    richTextBox1.set_SelectionColor(Color.get_Red());
    richTextBox1.SaveFile("C:\\MyDocument.rtf",
        RichTextBoxStreamType.RichText);
    this.get_Controls().Add(richTextBox1);
} //CreateMyRichTextBox

继承层次结构

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.TextBoxBase
          System.Windows.Forms.RichTextBox

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

RichTextBox 成员
System.Windows.Forms 命名空间
TextBoxBase
TextBox