다음을 통해 공유


RichTextBox 클래스

Windows의 RichTextBox 컨트롤을 나타냅니다.

네임스페이스: 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 속성을 사용하면 글머리 기호 목록을 만들 수 있습니다. SelectionIndent, SelectionRightIndentSelectionHangingIndent 속성을 설정하면 단락 서식을 조정할 수 있습니다.

RichTextBox 컨트롤은 파일을 열고 저장하는 메서드를 제공합니다. LoadFile 메서드를 사용하면 기존 RTF 또는 ASCII 텍스트 파일을 컨트롤로 로드할 수 있습니다. 또한 열린 데이터 스트림에서 데이터를 로드할 수도 있습니다. SaveFile을 사용하면 파일을 RTF 또는 ASCII 텍스트로 저장할 수 있습니다. LoadFile 메서드와 비슷한 SaveFile 메서드를 사용해도 열려 있는 데이터 스트림에 파일을 저장할 수 있습니다. RichTextBox 컨트롤은 텍스트 문자열을 찾는 기능도 제공합니다. Find 메서드는 오버로드되어 컨트롤 텍스트 내의 특정 문자뿐만 아니라 텍스트 문자열을 찾습니다.

또한 메모리에 저장된 데이터에 대해 RichTextBox 컨트롤을 초기화할 수 있습니다. 예를 들어, Rtf 속성을 텍스트 서식을 결정하는 RTF 코드를 포함하여 표시할 텍스트가 포함된 문자열로 초기화할 수 있습니다.

컨트롤 내의 텍스트에 웹 사이트로 연결되는 링크 등이 포함되어 있는 경우 DetectUrls 속성을 사용하여 컨트롤 텍스트에서 해당 링크를 적절하게 표시할 수 있습니다. 그런 다음 LinkClicked 이벤트를 처리하여 해당 링크와 관련된 작업을 수행할 수 있습니다. SelectionProtected 속성을 사용하면 사용자가 컨트롤 내의 텍스트를 조작하지 못하도록 보호할 수 있습니다. 컨트롤의 텍스트가 보호되는 경우 Protected 이벤트를 처리하면 보호된 텍스트를 사용자가 수정하려고 할 때 이를 확인하고, 해당 텍스트가 보호된 텍스트임을 알리는 경고 메시지를 표시하거나 보호된 텍스트를 조작할 수 있는 일반적인 방법을 사용자에게 제공할 수 있습니다.

현재 TextBox 컨트롤을 사용하는 응용 프로그램에서는 RichTextBox 컨트롤을 사용할 수 있도록 쉽게 조정할 수 있습니다. 그러나 RichTextBox 컨트롤에는 TextBox 컨트롤의 64K 문자 용량 제한이 적용되지 않습니다. 일반적으로 RichTextBox를 사용하면 텍스트를 조작할 수 있으며 Microsoft Word 등의 워드 프로세서 응용 프로그램과 비슷한 기능을 표시할 수 있습니다.

참고

TextBoxBase.Undo 메서드는 KeyPress 또는 TextChanged 이벤트와는 함께 사용할 수 없습니다.

예제

다음 코드 예제에서는 컨트롤에 RTF 파일을 로드하는 RichTextBox 컨트롤을 만들고 "Text"라는 단어가 처음 나오는 경우를 검색합니다. 그런 다음 선택된 텍스트의 글꼴 스타일, 글꼴 크기 및 글꼴 색을 변경하고 변경 내용을 원본 파일에 다시 저장합니다. 마지막으로 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.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.TextBoxBase
          System.Windows.Forms.RichTextBox

스레드로부터의 안전성

이 형식의 모든 public static(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