VB.NET 2008/VB - 컨트롤

컨트롤 - RichTextBox 컨트롤

본클라쓰 2011. 4. 25. 09:58

RichTextBox 컨트롤은 서식있는 텍스트를 표시, 입력 및 조작하는 데 사용된다. RichTextBox 컨트롤은 TextBox 컨트롤의 모든 기능을 수행할 뿐만 아니라 글꼴, 색 및 링크를 표시하고, 파일에서 텍스트 및 포함 이미지를 로드하고, 지정된 문자를 검색한다.

 

RichTextBox 컨트롤은 일반적으로 텍스트를 조작하고 Microsoft Word와 같은 워드프로세서 응용 프로그램과 유사한 기능을 표시하는 데 사용된다. TextBox 컨트롤처럼 RichTextBox 컨트롤도 스크롤 막대를 표시할 수 있지만 TextBox 컨트롤과 달리 이 컨트롤은 기본적으로 필요에 따라 가로 및 세로 스크롤 막대를 모두 표시하며 스크롤 막대를 추가로 설정할 수 있다.

 

 

TextBox 컨트롤에서처럼 Text 속성을 통해 표시할 텍스트를 설정한다. RichTextBox 컨트롤에는 텍스트 서식 지정에 사용되는 많은 속성이 포함되어 있다.

 

SelectionFont 속성을 사용하면 선택한 문자를 굵게 또는 기울임꼴로 표시하거나 문자에 밑줄을 그을 수 있다. 또한 선택한 문자의 크기와 서체도 변경할 수 있다. SelectionColor 속성을 사용하면 선택한 문자의 색을 변경할 수 있다.

 

RichTextBox1.SelectionFont = New Font("Tahoma", 12, FontStyle.Bold)
RichTextBox1.SelectionColor = System.Drawing.Color.Red

 

SelectionBullet 속성을 설정하면 선택한 단락의 서식을 글머리 기호 목록으로 지정할 수 있다. 또한 SelectionIndent, SelectionRightIndent SelectionHangingIndent 속성을 사용하여 컨트롤의 왼쪽/오른쪽 가장자리와 다른 텍스트 줄의 왼쪽 가장자리를 기준으로 단락 들여쓰기를 설정할 수도 있다.

 

단락을 들여쓰려면  컨트롤의 왼쪽 가장자리와 텍스트의 왼쪽 가장자리 사이의 거리를 픽셀 단위로 나타내는 정수를 SelectionIndent 속성에 설정한다.

 

단락에서 첫 번째 텍스트 줄의 왼쪽 가장자리와 같은 단락에서 나머지 줄의 왼쪽 가장자리 사이의 거리를 픽셀 단위로 나타내는 정수를 SelectionHangingIndent 속성에 설정한나. SelectionHangingIndent 속성의 값은 단락에서 첫 번재 줄을 제외하고 줄 바꿈된 나머지 줄에만 적용된다.

 

컨트롤의 오른쪽 가장자리와 텍스트의 오른쪽 가장자리 사이의 거리를 픽셀 단위로 나타내는 정수를 SelectionRightIndent 속성에 설정한다.

 

RichTextBox1.SelectionBullet = True

RichTextBox1.SelectionIndent = 8
RichTextBox1.SelectionHangingIndent = 3
RichTextBox1.SelectionRightIndent = 12

 

 

파일 조작을 위해 LoadFile SaveFile 메서드는 일반 텍스트, 유니코드 일반 텍스트 및 RTF(서식 있는 텍스트)를 포함한 여러 종류의 파일 형식을 표시하고 작성할 수 있다. 사용 가능한 파일 형식은 RichTextBoxStreamType 열거형에 나열되어 있다. Find 메서드를 사용하여 텍스트 문자열이나 특정 문자를 찾을 수 있다.

 

또한 DetectUrls 속성을 true로 설정하고 LinkClicked 이벤트 처리 코드를 작성하여 RichTextBox 컨트롤을 웹 스타일 링크에 사용할 수 있다.

 

웹 스타일 링크를 표시하기 위해서는 RichTextBox 컨트롤의 Text 속성에 올바른 URL을 포함하는 문자열로 설정한 후 DetectUrls 속성을 true로 설정한다. Process 개체의 새 전역 인스턴스를 만들어 브라우저에 원하는 텍스트를 보내는 LinkClicked 이벤트에 대한 이벤트 처리기를 작성한다.

 

Public p As New System.Diagnostics.Process

Private Sub RichTextBox1_LinkClicked(ByVal sender As Object, _

    ByVal e As System.Windows.Forms.LinkClickedEventArgs) Handles RichTextBox1.LinkClicked
      ' Call Process.Start method to open a browser
      ' with link text as URL.
      p = System.Diagnostics.Process.Start("IExplore.exe", e.LinkText)
End Sub

 

SelectionProtected 속성을 true로 설정하여 사용자가 컨트롤의 전체 또는 일부 텍스트를 조작하지 못하도록 할 수 있다.

 

Undo Redo 메서드를 호출하여 RichTextBox 컨트롤에서 수행한 대부분의 편집 작업을 실행 취소하거나 다시 실행할 수 있다. CanRedo 메서드를 사용하면 사용자가 실행 취소한 마지막 작업을 해당 컨트롤에 다시 적용할 수 있는지 여부를 확인할 수 있다.

'VB.NET 2008 > VB - 컨트롤' 카테고리의 다른 글

컨트롤 - TreeView 컨트롤  (0) 2011.04.25
컨트롤 - TextBox 컨트롤  (0) 2011.04.25
RadioButton 컨트롤의 설명과 활용  (0) 2011.04.25
컨트롤 - PictureBox 컨트롤  (0) 2011.04.25
컨트롤 - LinkLabel 컨트롤  (0) 2011.04.25