2011-07-12 51 views
3

我在一個名爲Wafer Map的窗體中有一個選項卡,它有三個子選項卡。第一個子選項卡是被調用的Map,並具有加載和跳過按鈕。我正在嘗試將焦點設置在加載按鈕單擊上的晶圓子選項卡上。這是我嘗試使用的以下代碼。將焦點設置在一個標籤上

Private Sub Load_Wafer_Layout_Map_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Load_Wafer_Layout_Map.Click 
    Wafer_Info.Enabled = True 
    Wafer_Info.Show() 
End Sub 

的Wafer_Info.Enabled = true用於啓用所有的晶圓標籤上的控制,並單擊該按鈕時工作正常。我曾嘗試使用.Focus()和.Show()將焦點帶到下一個選項卡,但我沒有任何運氣可以切換。任何人有任何建議?

回答

3

爲我工作的代碼是Tab_WaferMap.SelectTab(1) 。 Tab_WaferMap是我的主要選項卡,1是我想要顯示的子選項卡的索引

6

設置它:

tabControl.SelectedTab = yourTab 

在標籤控件標籤頁,只是確保你的名字,你正試圖引用標籤。此外,請參閱MSDNTabControl.SelectedTab

+0

我剛剛試過,得到以下消息:「引用非共享成員需要和對象引用。」 – James

+0

@詹姆斯,它說在該頁面上正確支持:4,3.5 SP1和Windows 7 –

+0

無法讓你的解決方案工作,但我想出瞭如何以另一種方式做到這一點。 – James

0

您還可以設置標籤的Selected Index(和子選項卡)使用(從零開始)數值:

TabParent.SelectedIndex = 3 
TabSub.SelectedIndex=2 
3

我遇到了這個線程,因爲我正在尋找解決方案來解決自己的焦點問題。我有一個帶有許多TabPages的TabControl。由於內容溢出,每個TabPage都設置爲自動滾動。我遇到的問題是,如果TabPage沒有焦點,鼠標滾輪將不起作用。由於每個選項卡都沒有事件,因此每個TabPage都會將焦點設置爲挑戰。這並不難,但挑戰不容小覷。所以,這是我的代碼(假設自動滾動爲真)。

在形式負載將焦點設置到主要的TabPage:

Private Sub frmParent_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    TabControl1.TabPages(0).Focus() 
End Sub 

集通過獲取索引然後設置焦點集中到當前的TabPage。 這是由TabControl1.SelectedIndexChange事件觸發的。

Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles TabControl1.SelectedIndexChanged 
    Dim intTabIndex As Integer = TabControl1.SelectedIndex 
    TabControl1.TabPages(intTabIndex).Focus() 
End Sub 

我希望有人發現這個有用。這對我來說是非常有用的。

Joshua

相關問題