우선 사용자가 있으므로 SelectedIndexChanged
이벤트가 사용하려는 하나입니다 TabPage
하지 헤더에 내에서 클릭 할 TabPage
제어 화재의 Click
이벤트입니다.
난 그냥 당신에게 매우 비슷한 코드를 테스트 :
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab == tabPage2)
{
textBox4.Focus();
}
}
그리고 그것은 괜찮 았는데.
암호 입력란이 활성화되어 있지 않습니까?
다른 컨트롤에 Focus()
를 호출하려고하면도 작동하지 않는 것이 무엇입니까?
당신은 적중을 얻을 않는 SelectedIndexChanged
코드 내부에 중단 점을 설정 한 경우?
업데이트 : 흥미 롭. 중단 점이 (if
이전에) 충돌하지 않으면 이벤트 처리기가 제대로 연결되어 있는지 확인합니다. 같은 대한 designer.cs에서 봐 :
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
업데이트 :을 나는 어쩌면 문제가 어디에 있는지 알아내는 데 도움이됩니다 그것을보고 http://www.ccswe.com/temp/SO_TextBoxFocus.zip에서 내 작업 예를 넣습니다.
업데이트 : 양식의 컨트롤에 이벤트 핸들러를 첨부 할 수있는 쉬운 방법 :
1 :에 이벤트 핸들러를 첨부 한 다음 Events
아이콘 (번개 모양)을 클릭하려는 Control
를 선택 Properties
창에서
alt text http://www.ccswe.com/temp/Attach_EventHandler_1.png
2 : 오른쪽으로 두 번 클릭하고 첨부 할 이벤트를 찾습니다.
alt text http://www.ccswe.com/temp/Attach_EventHandler_2.png
3 : 코드 스텁이 자동으로 생성되며, 이벤트가 디자이너에 첨부됩니다.
alt text http://www.ccswe.com/temp/Attach_EventHandler_3.png
속성 창을 보면 다시 이제 생성 된 메소드의 이름을 볼 수 있습니다.
정확히 어떻게됩니까?탭 관련 이벤트가 전혀 실행되지 않습니까? winforms? wpf? – shahkalpesh