RichTextBox クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ Public Class RichTextBox Inherits TextBoxBase
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class RichTextBox : TextBoxBase
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] public ref class RichTextBox : public TextBoxBase

RichTextBox コントロールを使用すると、ユーザーはテキストを入力および編集できます。このコントロールには、標準の TextBox コントロールよりも高度な書式設定機能も用意されています。テキストは、このコントロールに直接割り当てることも、リッチ テキスト形式 (RTF: Rich Text Format) ファイルやプレーンテキスト ファイルから読み込むこともできます。コントロール内のテキストには、文字書式または段落書式を割り当てることができます。
RichTextBox コントロールには、入力されているテキストの任意の部分に書式を設定するためのプロパティがいくつか用意されています。テキストの書式を変更するには、最初に、そのテキストを選択する必要があります。文字書式や段落書式を割り当てることができるのは、選択されているテキストだけです。選択されているテキスト部分の書式を設定すると、その設定が変更されるか、コントロールのドキュメントの別部分が選択されるまでは、選択されているテキストの直後に入力した全テキストに同じ書式が適用されます。SelectionFont プロパティを使用すると、テキストに太字または斜体の属性を適用できます。このプロパティを使用して、テキストのサイズやタイプフェイスも変更できます。SelectionColor プロパティを使用すると、テキストの色を変更できます。箇条書きリストを作成するには、SelectionBullet プロパティを使用します。SelectionIndent、SelectionRightIndent、SelectionHangingIndent の各プロパティを設定すると、段落書式も調整できます。
RichTextBox コントロールには、ファイルを開く機能および保存する機能を提供するメソッドがあります。LoadFile メソッドを使用すると、既存の RTF ファイルまたは ASCII テキスト ファイルをコントロールに読み込むことができます。既に開いているデータ ストリームからデータを読み込むこともできます。SaveFile を使用すると、ファイルを RTF 形式または ASCII テキスト形式で保存できます。LoadFile メソッドと同様、開いているデータ ストリームにファイルを保存する場合も SaveFile メソッドを使用できます。RichTextBox コントロールには、テキストの文字列を検索する機能も用意されています。Find メソッドは、コントロールに入力されたテキストの特定の文字および文字列を両方とも検索するようにオーバーロードできます。
また、RichTextBox コントロールを初期化して、メモリに格納されているデータを使用することもできます。たとえば、Rtf プロパティは、テキストの書式設定方法を決定する RTF コードを含めて、表示するテキストを含んだ文字列に初期化できます。
コントロール内のテキストにリンク (Web サイトへのリンク) が含まれている場合、DetectUrls プロパティを使用すると、コントロールのテキストにリンクを適切に表示できます。そして、LinkClicked イベントを処理し、リンクに関連付けられているタスクを実行できます。SelectionProtected プロパティを使用して、コントロール内のテキストをユーザーが操作できないように保護できます。コントロール内でテキストを保護した場合、Protected イベントを処理することにより、そのテキストをユーザーが変更しようとした場合にそのことを検知し、テキストが保護されていることをユーザーに警告するか、保護されているテキストを操作するための標準的な方法を提示できます。
TextBox コントロールを使用しているアプリケーションを RichTextBox コントロールを使用するように変更するのは簡単です。TextBox コントロールには 64K までの文字しか入力できませんが、このような容量制限は RichTextBox コントロールにはありません。通常、RichTextBox は、Microsoft Word などのワード プロセッシング アプリケーションの機能に類似した、テキストの処理機能や表示機能を提供するために使用されます。
![]() |
---|
TextBoxBase.Undo メソッドは、KeyPress イベントまたは TextChanged イベントでは機能しません。 |

RTF ファイルをコントロールに読み込み、最初に出現する "Text" という単語を検索する RichTextBox コントロールを作成するコード例を次に示します。このコードは、選択されているテキストのフォントのスタイル、サイズ、および色を変更し、変更した内容を元のファイルに保存します。コントロールを Form に追加した時点で、このコードは終了します。このコード例では、コード内で作成したメソッドを Form クラスに追加し、そのフォームのコンストラクタから呼び出す必要があります。また、単語 "Text" が含まれている RTF ファイルが C ドライブのルートに作成されている必要もあります。
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.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.TextBoxBase
System.Windows.Forms.RichTextBox


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- RichTextBox クラスのページへのリンク