2014-11-10 2 views
1

그래서 시간이있는 텍스트 상자가 있습니다.텍스트 상자에서 특정 텍스트 선택/강조 표시

enter image description here

당신이 텍스트 상자를 클릭하고이 같은 시간 부분을 클릭 ;

enter image description here

그것은 다음과 같이한다; 같은

enter image description here

분에 간다, 그래서 당신은이 같은 텍스트 상자의 분 부분에있을 때;

enter image description here

은 다음과 같이한다;

enter image description here

기본적으로 내가 뭘하려고/프로그램 선택하게 당신을 위해 시간을 강조한다. 클릭 한 항목에 따라 다릅니다.

지금까지 시도한 것은 이것입니다.

이 작동
textBox1.SelectionStart = 0; // The start of the selection 
    textBox1.SelectionLength = 2; //Untill the ":" which seperates the hours from minutes 

텍스트가 thirth 그림과 같이 선택됩니다 : 당신은 시간의 일부를 "선택"할 때

은 어떤 일이 발생한다.

그리고이 부분 :

textBox1.SelectionStart = 3; // The start of the selection, in this case after the ":" 
     textBox1.SelectionLength = textBox1.Text.Length; //Untill the end 

난 당신이 이것에 대한 간단한 경우 문을 쓸 수 있어야 것을 알고있다.

하지만 내 문제는 어떻게 "커서"부분이 텍스트 상자에 있는지 확인할 수 있습니까?

+1

항상 'textBox1.SelectionStart'에 있습니다. – TaW

답변

1

선택 시작으로 커서가 텍스트 상자에서 어디에 있는지 알 수 있습니다. 예를 들어 당신 지정한 selectionStart이 0이면 있도록

private void textBox1_MouseClick(object sender, MouseEventArgs e) 
      { 
       if (textBox1.SelectionStart < 3) 
       { 
        textBox1.SelectionStart = 0; 
        textBox1.SelectionLength = 2; 
       } 
       else if (textBox1.SelectionStart > 2) 
       { 
        textBox1.SelectionStart = 3; 
        textBox1.SelectionLength = textBox1.Text.Length; 
       } 
      } 

는 IF 문이 true이면

, 나는 그것이 텍스트 상자의 시작 부분에 의미, 특정 텍스트를 선택합니다, 처음 2 자리 숫자가 강조 표시됩니다.

두 개의 if 문과 함께 작동해야합니다.