Hi All,

I m working on a TabControl in Vb.Net. Its having 4 tabpages. like Tab1, Tab2, Tab3, Tab4. On Tab1 I m having a checkBox.

My requirement is when checkBox.Checked=True it will enable the Tab2. How can I go for this?

Note: I m not selecting the Tab2

Plz give me few sugestion


8 Years
Discussion Span
Last Post by ajinkya1234

You can do it by using 2 methods first
TabControl.SelectedTab = TabPage
TabControl.SelectedIndex = theNumberOfTabSelected


So you want to have the second tab disabled until they check this checkbox?

Well, after fiddling around for a little bit (I'm rather new to Visual Basic so maybe this could be done better) I've found out that there is no 'obvious' enabled state of the tab. The intellisense doesn't pick it up and it's not in the properties panel but you can set it through using: TabPageName.Enabled = False set that when the form loads, the user can still click the tab but all the controls within that tab are disabled (I don't know how to disable the tab entirely sorry :/)

Private Sub checkbox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles checkBox.CheckedChanged
    If checkBox.Checked = True Then
         TabPageName.Enabled = True
    ElseIf checkBox.Checked = False Then
        TabPageName.Enabled = False
    End If

End Sub

So make sure you set the Enabled State of the TabPage to False and then use that code, edit it to your hearts delight to enable the page. Maybe someone else knows how to disable the tab altogether :) but here's my suggestion.

(My tabs are messed up in my code, so be aware.)


Although you have mention a way to disable tab controls in vb.net that wasn't working
Don't know the reason
I'm using VB.Net 2005 it doesn't have enabled property for tabpages.
Therefore once you type as follows it will prompt an error message


Enabled is not a property of TabPage

So if you find another way to disable tab pages please post it


Try it...........It is tested. It's working.

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
TabControl1.SelectedTab = TabPage2
End If
End Sub

Thank you.


you are specifying a way to select the tab when some control had been changed.But what i want to do is to disable the tab page when i change a control.

What I got to know is there is no way to disable a tab page in VB.Net

So i have tried inserting a panel in to the tab page and put all controls in to that panel. Thereby making the panel disabled when a control had been changed.

This way i got the thing i want to do.

Thanx for your support

Thread is almost one year old. Don't put your comments.

I know this thread is a bit old but I wanted to propose another option. You could have the tab removed (made invisible) when the form loads, then add it back when the user checks the checkbox.

To remove the tab:


To add:


im kind of having the same issue in .net 2008

im trying to figure out a way to exit sub whenever the user clicks on a tab strip. not performing any action, forcing them to use a button to switch between the different tabs.

the panel option seems ok, just insert a panel into each tab page, make it invisible then when the use clicks the button switch to the next tab page and show the panel.

little bit rough of a way and there has to be something easier if you ask me.

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.