다음을 통해 공유


방법: Windows Forms TextBox 컨트롤에서 텍스트 선택

Windows Forms TextBox 컨트롤에서 프로그래밍 방식으로 텍스트를 선택할 수 있습니다. 예를 들어 특정 문자열에 대한 텍스트를 검색하는 함수를 만드는 경우 텍스트를 선택하여 찾은 문자열의 위치를 판독기에 시각적으로 알릴 수 있습니다.

프로그래밍 방식으로 텍스트를 선택하려면

  1. SelectionStart 속성을 선택하려는 텍스트의 시작 부분으로 설정합니다.

    SelectionStart 속성은 텍스트 문자열 내의 삽입 지점을 나타내는 숫자이며, 0은 가장 왼쪽 위치입니다. SelectionStart 속성이 텍스트 상자의 문자 수보다 크거나 같은 값으로 설정되면 삽입 지점은 마지막 문자 뒤에 배치됩니다.

  2. SelectionLength 속성을 선택하려는 텍스트의 길이로 설정합니다.

    SelectionLength 속성은 삽입 지점의 너비를 설정하는 숫자 값입니다. SelectionLength를 0보다 큰 숫자로 설정하면 현재 삽입 지점에서 시작하여 해당 수의 문자가 선택됩니다.

  3. (선택 사항) SelectedText 속성을 통해 선택한 텍스트에 액세스합니다.

    아래 코드는 컨트롤의 Enter 이벤트가 발생할 때 텍스트 상자의 콘텐츠를 선택합니다. 다음 예제는 텍스트 상자에 Text 속성 값이 null 또는 빈 문자열이 아닌지 확인합니다. 텍스트 상자가 포커스를 받으면 텍스트 상자의 현재 텍스트가 선택됩니다. TextBox1_Enter 이벤트 처리기는 컨트롤에 바인딩되어야 합니다. 자세한 내용은 방법: 런타임에 Windows Forms에 대한 이벤트 처리기 만들기를 참조하세요.

    이 예제를 테스트하려면 텍스트 상자에 포커스가 생길 때까지 Tab 키를 누릅니다. 텍스트 상자를 클릭하면 텍스트가 선택되지 않습니다.

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter  
       If (Not String.IsNullOrEmpty(TextBox1.Text)) Then  
          TextBox1.SelectionStart = 0  
          TextBox1.SelectionLength = TextBox1.Text.Length  
       End If  
    End Sub  
    
    private void textBox1_Enter(object sender, System.EventArgs e){  
       if (!String.IsNullOrEmpty(textBox1.Text))  
       {  
          textBox1.SelectionStart = 0;  
          textBox1.SelectionLength = textBox1.Text.Length;  
       }  
    }  
    
    private:  
       void textBox1_Enter(System::Object ^ sender,  
          System::EventArgs ^ e) {  
       if (!System::String::IsNullOrEmpty(textBox1->Text))  
       {  
          textBox1->SelectionStart = 0;  
          textBox1->SelectionLength = textBox1->Text->Length;  
       }  
    }  
    

참고 항목