2010-07-17 3 views
0

난 간단한 vb.net 양식 tabpanel 스트립, 그리고 별도의 양식은 해당 tabpage에 대해로드됩니다.vb.net tabpage tabpanels 문제에 대한 양식 사용

Dim tmpTab As New MainTab 
    tmpTab.Dock = DockStyle.Fill 
    tmpTab.Panel1.Dock = DockStyle.Fill 
    tab.Controls.Add(tmpTab) 
    tab.Text = "Untitled" 
    tab.Name = " " 

내가 쉽게 탭의 초점을 설정할 수 있습니다

다음
Dim tempTab As New TabPage 
    initTab(tempTab) 
    xt.TabPages.Add(tempTab) 
    xt.SelectedIndex = xt.TabCount - 1 

는 "inittab에"코드입니다 : 여기

동적으로 새 탭을 생성하는 버튼에 대한 코드입니다 다음을 입력하여 마지막 탭에 포커스를 설정합니다.

xt.SelectedIndex = xt.TabCount - 1 

이제 문제는, 필자는 "MainTab"이라는 레이블이 붙은 예제에서 사용자 정의 폼의 텍스트 상자에 포커스를 어떻게 설정할 수 있습니까? 나는 거의 모든 것을 시도해 봤지만 setfocus하는 방법이나 MainTab 형식에서 아무 것도 설정하거나 얻을 수있는 방법의 예제를 찾을 수없는 것 같습니다.

누구든지 나를 도와 줄 수 있습니까?

답변

0

Erm, 양식을 어린이 컨트롤로 전환하면 수술이 필요합니다. TopLevel 속성을 false로 설정하고 테두리를 숨기고 표시되도록 설정해야합니다. MainTab은 실제로 양식입니까? 코드 조각에는 표시되지 않습니다.

Anyhoo는 볼 수있을 때까지 컨트롤에서 Focus() 메서드를 사용할 수 없습니다. 확률은 코드 스 니펫에 아직 표시되지 않는 것이 좋습니다. 대신 Select() 메서드를 사용하십시오. 말 :

tmpTab.TextBox1.Select() 

또는 디자이너에서 포커스를 0으로 설정해야하는 첫 번째 컨트롤의 TabIndex 속성을 설정하면됩니다.

+0

select 속성으로 문제가 해결되었으므로 컨트롤이 표시되지 않았습니다. – Joe

0

xt.Controls (xt.SelectedIndex) .Controls ("TEXTBOXNAME"). 초점()

그냥 당신이이 경우 이름 (포커스가 원하는 텍스트 상자의 Name 속성을 설정하는 것이 있는지 확인하십시오 이렇게하면 TEXTBOXNAME이됩니다).