我在這裏看到了關於如何隱藏tabcontrol中的標籤的一些討論,但它們似乎都是C或某種變體。我沒有看到一個vb.net(我不能做C)VB.Net Hide Tabpage
我想要做的是隱藏或禁用所有的標籤,直到用戶登錄。 我整理了登錄和註銷。我需要做的就是添加代碼來啓用/禁用一些標籤,直到用戶登錄。
任何人都知道一個很好的方法來做到這一點?
的WinForms BTW
我在這裏看到了關於如何隱藏tabcontrol中的標籤的一些討論,但它們似乎都是C或某種變體。我沒有看到一個vb.net(我不能做C)VB.Net Hide Tabpage
我想要做的是隱藏或禁用所有的標籤,直到用戶登錄。 我整理了登錄和註銷。我需要做的就是添加代碼來啓用/禁用一些標籤,直到用戶登錄。
任何人都知道一個很好的方法來做到這一點?
的WinForms BTW
整個TabControl的您剛剛從TabControl的通過TabPages
集合添加和刪除TabPages
:
TabControl1.TabPages.Add(myTabPage)
,並刪除它:
TabControl1.TabPages.Remove(myTabPage)
注意:刪除TabPage
不會對其進行處理,它只會將其從TabPage
集合中刪除。
只是隱藏通過設置Visible
財產
對不起 - 忘記提及登錄是第一個標籤。我知道它是一個混亂的方式來做到這一點,我可能會改變它,但編號也想學習如何做到這一點爲任何未來的項目 – 2012-01-29 18:52:54
當前,以下代碼塊會禁用該TabPage上的所有控件(設置Control.Enabled = False)。該選項卡本身仍然可見並且可以從TabControl中選擇,它不會被隱藏。該選項卡是可選的,並且所有元素都顯示爲禁用。
TabMyTab.Enabled = False
如果您希望禁用類似,即button.Enabled = False
標籤不允許使用的控制,你需要做的事情是禁用的TabPage在代碼中的不同上述禁止在該選項卡中的所有控件。如果這是你想要的,請繼續閱讀。許多程序員建議使用TabControl禁止通過選擇不同的或先前選擇的選項卡來選擇選項卡。這是我知道的最有效的方法。我想實現如下這樣:
Private PreviousTab As New TabPage
Private CurrentTab As New TabPage
Private Sub TabControlName_Deselected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles TabControlName.Deselected
PreviousTab = e.TabPage
End Sub
Private Sub TabControlName_Selected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles TabControlName.Selected
CurrentTab = e.TabPage
If (PreviousTab.Name <> CurrentTab.Name) And (CurrentTab.Name = UnselectableTab.Name) Then
MessageBox.Show("Tab disabled.", "Selection Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
TabControlName.SelectedTab = PreviousTab
End If
End Sub
爲替「UnselectableTab」和「TabControlName」爲您的項目自己的值。
doesnt該方法鬆開所有的選項卡上的控件,但? – 2012-01-29 18:58:59
測試 - 沒有鬆散的控制 - 謝謝你larstech – 2012-01-29 19:01:19
@ user977229號。「TabPage」將仍然擁有所有的控件和事件,直到它被處置。 – LarsTech 2012-01-29 19:02:25