I want to make a quiz, which goes through the questions, keeping in mind that while question 1 is being used, the others are disabled. Once the Next button is clicked it should change directly to Q2, disabling Q1 and so on.
How do I make it disable the previous tab and keep the current one enabled after the Next button is clicked?
As stated previously tabs can be selected by index.
So as before, let's disable all other tabs:
foreach(TabPage tab in tabControl.TabPages)
{
tab.Enabled = false;
}
(tabControl.TabPages[0] as TabPage).Enabled = true;
Now the way to prevent navigating to any other tab is simple:
private void tabControl_Selecting(object sender, TabControlCancelEventArgs e)
{
if (!e.TabPage.Enabled)
{
e.Cancel = true;
}
}
The only downside is that they will appear selectable, meaning they are not grayed out. You would have to do this yourself if you want the look to appear unavailable as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With