2013-07-25 2 views
0

저는 공간 입력을 얻을 때 텍스트를 편집해야하는 TextBox이라는 프로그램이 있습니다.텍스트 상자에서 표시기의 위치를 ​​찾고 설정합니다.

나는 그것을했다. 그러나 표시기는 좋은 MMI가 아닌 텍스트의 시작 부분으로 되돌아 갔다.

표시기 위치를 변경하지 않고 텍스트를 편집 할 수있는 방법이 있는지 또는 TextBox에 표시기 위치를 설정하는 방법이 있는지 궁금합니다.

여러 가지 방법으로 텍스트를 편집하려했지만 모두 표시기가 텍스트 시작 부분으로 돌아갑니다.

표시기의 위치에 영향을 줄 수있는 방법을 찾을 수 없어서 불가능하다고 생각하지만 잘못된 것일 수 있습니다.

도와주세요.

답변

1

선택을 시도하십시오. 이는 5 위치로 커서를 설정,하지만 아무것도 선택하지 않을 것이다 :

textBox1.Select(5, 0); 

그냥이 사용자에게 컨트롤을 반환하기 전에 발생하는 마지막 일이 있는지 확인합니다. 필요하다면 아마도 Focus로 전화를했을 것입니다.

귀하의 경우에는 추가/수정 된 텍스트보다 먼저 해당 위치를 추적해야합니다. 그 후에? 5을 해당 번호로 바꿉니다.

2

시도해보십시오.

int startPosition = textBox1.SelectionStart; 
int selectionLength = textBox1.SelectionLength; 

//do what ever you need 
textBox1.Text = textBox1.Text.ToUpper(); 

//place cursor back in position 
textBox1.Select(startPosition, selectionLength); 

희망이 있습니다.

관련 문제