2012-07-24 30 views
0

我已經創建了一個用戶控件,我試圖用作自定義用戶界面上的「選項卡」,應該像TabControl一樣操作。 (通過「標籤」,我指的是你點擊的位,而不是被點擊後顯示的頁面內容)。這些選項卡位於左側(與許多應用程序中的屬性窗口相同),每個選項卡(應當)都由兩個標籤組成,一個在另一個上面(標題和說明)。強制禁用用戶控件中的標籤顯示爲正常(未禁用)?

這是一個漫長而艱難的旅程,到目前爲止,我的方法可能是完全錯誤的,但我現在有我的用戶是內兩個標籤和一個按鈕,都在一個TableLayoutPanel佈局。我有一個按鈕的原因是我希望控件是一個tabstop,所以(我認爲)我需要包含一個是tabstop的控件。另外,我想要捕捉某些擊鍵(見下文)。從視覺上來說,使用按鈕不會太麻煩,因爲我可以使用圖像來使按鈕看起來更漂亮。

無論如何,我希望用戶能夠使用上/下箭頭鍵上下移動標籤。通過捕捉按鈕上的KeyDown(& PreviewKeyDown)事件,我有了這個工作。那很好。但是,如果用戶在焦點位於選項卡usercontrol上時按下Tab鍵,我希望焦點移動到當前頁面中的第一個控件而不是到下一個選項卡usercontrol,這就是它的作用實際上是。

要做到這一點,我試圖禁用所有標籤頁usercontrols中的按鈕除了活動的,但焦點仍然移動到usercontrol本身 - 因爲沒有活動tabstop,它只是迷路(你看不到它)。

然後我試着禁用所有非活動的usercontrols而不僅僅是按鈕,這已經工作了一種享受 - 除了現在我的用戶控件中的標籤顯示爲禁用,我不希望這樣。

如何阻止我的用戶控件的子控件看起來像禁用了它們? (或者,我怎樣才能讓tab鍵忽略我的usercontrols而不使它們被禁用)?

回答

0

原來,我可以實現我想做的事情,而不訴諸於禁用usercontrols。我可以簡單地將TabStop屬性設置爲false。