2011-03-10 4 views
3

목록보기가 있는데 항목을 클릭하면 해당 이벤트에서 SelectedIndexChange 이벤트가 호출되므로 텍스트 상자에 포커스를 설정하려고합니다. 전화 :C# Listview의 SelectedIndexChange 이벤트에서 텍스트 상자의 포커스를 호출하면 이벤트 완료에 포커스가 없습니다.

this.ActiveControl = theTextBoxControl;

초 단위로 텍스트 상자로 포커스 전환을 볼 수 있지만 이벤트가 완료 되 자마자 포커스는 목록보기로 돌아갑니다. 어떤 아이디어가 이것을 고치는 방법?

답변

1

예를 들어 needToFocusTextBox과 같이 플래그를 만들고 설정할 수 있습니다. 그리고 ListView의 onFocus 이벤트에서 다음을 수행하십시오.

if (needToFocusTextBox) 
    this.ActiveControl = theTextBoxControl; 

또는 SlectedIndexChange 이벤트에서 onFocus 처리기를 할당 할 수 있습니다. 그런 다음 onfocus를 처리 한 후에 제거하십시오.

+0

이 작업은 가능하지만 도움이 될만한 전역 변수가 없을 것입니다. 내가 다른 것을 알아낼 수 없다면 나는 이것과 함께 갈 것이다. –

+0

@Scott Chantry, 내 답변에 대한 대체 솔루션을 추가했습니다. 전역 변수는 사용하지 않습니다. –

관련 문제