2012-05-17 2 views
0

나는 프로그램이 시작될 때 초점을 맞출 수있는 RichTextBox을 가지고있다. 사용자가 특정 수의 문자를 입력 한 후에 텍스트 상자에 다른 것을 변경/추가하는 것을 중지하고 싶습니다.C#에서 java의 setFocusable()과 동일한 기능이 있습니까?

원래 이걸 Java 응용 프로그램으로 작성하고 userInputBox.setFocusable(false)을 사용했지만 프로그래밍 방식으로 C#에서이를 변경하는 동일한 방법을 찾을 수 없습니다. Windows Forms 응용 프로그램을 구축하고 있습니다. 사용자가 상호 작용할 다른 컨테이너 나 개체가 없으므로 whatever.Focus()을 텍스트 상자에서 끌어낼 수 없습니다. 감사.

+0

사용자가 내용을 변경하지 않게하려면'ReadOnly = true'를 설정하기가 쉽지 않습니까? – vcsjones

+0

@vcsjones 반드시 그렇지는 않습니다. 컨트롤이 Focusable이되는 것을 원하지 않는 이유가있을 수 있습니다. – Abion47

답변

1

ReadOnly = true 또는 Enabled = false으로 설정할 필요가 있습니다. 실제로 컨트롤이 unfocusable 일 필요가없는 경우에는 Oded가 좋은 대답을 제시합니다.

2

C#에는 winforms에서 광범위하게 사용되는 이벤트 모델이 있습니다.

을 다른 컨트롤에서 호출하여 컨트롤의 GotFocus 이벤트를 처리 할 수 ​​있습니다.

+0

응용 프로그램에 집중할 다른 컨트롤이없는 경우 더미 컨트롤을 삽입하여 텍스트가없는 Label과 같이 보이지 않게 할 수 있습니다. – Abion47

+0

@ Abion47 - 항상 다른 통제가있을 것입니다. 당신이 가진 것이 전부가 아니라면. – Oded

+0

OP는 그의 질문에서 "사용자가 상호 작용할 수있는 다른 컨테이너 또는 객체"가 없을 것이라고 말합니다. 나는 그의 상황을 만족시키기위한 대안을 추가하고있다. – Abion47

관련 문제