2013-04-17 48 views
5

我有一個vb.net的窗體約15個組合框和15個文本框,以及其他幾個控件。所有這些文本框和組合框都位於面板中。原因是我需要根據用戶選擇/輸入的內容來調整控件的可見屬性,因此將每個標籤和控件一起分組在自己的面板中似乎是實現此目的的一種簡單方法。我已經通過屬性設置了Tab鍵順序,但它不起作用。當我通過我的表單標籤時,它會跳過並且不遵循我設置的標籤順序。這是因爲我的控件每個都位於單獨的面板中?我把TabStop設置爲false,因爲我不想要一個tabstop,我對這裏發生的事情有點困惑,看起來我的組合框和文本框每個都在它們自己的面板裏面,這會阻止我選項卡索引工作。任何人都可以證實這一點或有其他想法可能發生?如果我創建一個新窗體,Tab Tab工作。Tab索引不適用於面板中的控件?

+1

設置TabStop和TabIndex屬性通常都是需要的。如果它不起作用,請檢查表單中可能存在干擾控件聚焦的代碼的任何事件。 – LarsTech

+1

感謝您的建議,但是我的代碼中沒有任何內容會影響控件的焦點 – TypeM1smatch

+0

使用我作爲模板繪製的表格.....用您的TABSTOPS和TABORDER填充它並嘗試列出所有控件表格。 – Zeddy

回答

7

不管你信不信,面板排序絕對會影響TabIndex。我發現處理多面板表單上標籤排序的最簡單方法是使用LarsTech建議的視圖>標籤順序。然後,一旦標籤排序可見,您將能夠看到面板如何影響每個面板中包含的控件的整體排序。接下來,按實際面板上的順序左鍵單擊一個,按照您想要的流程順序進行。您會注意到,它會自動對每個面板內的控件進行次級排序,並且整個面板排序按照您指定的順序排列。完成此操作後,可以單擊每個面板內的每個控件,以在給定面板內設置控件的相關Tab選項。

3

嘗試在Visual Studio設計器中使用「視圖 - 選項卡順序」,然後按所需順序單擊每個容器和控件。父容器(面板)的選項卡索引很重要。

+1

謝謝,我也嘗試過,仍然沒有骰子 – TypeM1smatch

+1

@EricJ嘗試在一個新的小項目中重現問題。如果您可以重新創建它,請將其編輯到您的帖子中。 – LarsTech

+0

正確的答案。 「父容器(面板)的選項卡索引很重要」 – fedeteka

2

將TabStop設置爲FALSE意味着當它以Tab鍵順序出現時,它將跳過。 通常,您可以將TabStop設置爲FALSE,將所有其他INTERACTIVE控件設置爲TABSTOP = True(除非該控件在關閉時關閉)。

不要跳過Tab到Tab。您的TabStop和Tab Order應該與下面的列表類似。

Name   Parent  TabOrder  TabStop 
======================================================= 
Form   -    0    - 
TabStrip1 Form   1    True 
Tab1   TabStrip1  2    True 
Label1  Tab1   3    False 
Textbox1  Tab1   4    True 
Label2  Tab1   5    False 
Combo1  Tab1   6    True 

Tab2   TabStrip1  7    True 
Label3  Tab2   8    False 
Textbox2  Tab2   9    True 
Label4  Tab2   10    False 
Combo2  Tab2   11    True 

Tab3   TabStrip1  12    True 
Label5  Tab3   13    False 
Textbox3  Tab3   14    True 
Label6  Tab3   15    False 
Combo3  Tab3   16    True 
+1

感謝您的Zaf。我想你在這裏做些什麼。我今晚會告訴你,看看我能不能找出我脫軌的地方 – TypeM1smatch

1

我發現你必須查看每個控件和控件分組的每個標籤索引(組合框,面板,任何)。與Classic VB不同,.Net不會爲您更新所有其他選項卡索引。您可以使用窗體,面板或其他分組類型上相同的選項卡索引來創建任意數量的控件。

順便說一句,對於那些發佈視圖 - Tab鍵菜單項,謝謝。我不知道它在那裏,它幫助我非常正確地訂購一個我有多個嵌套組框的表單。這是審查標籤順序的極好工具。如果你使用這個,一定要注意每一層的嵌套。

+0

「順便說一句,對於發佈視圖 - Tab鍵菜單項的用戶,謝謝。我不知道它在那裏,它幫助我非常正確地訂購一個我有多個嵌套組框的表單。這是審查標籤順序的極好工具。如果你使用這個,一定要注意每一層的嵌套。「這裏也一樣!真的很棒的工具 – fedeteka