TabControl + Verrouiller un onglet

Fermé
bucabuca Messages postés 31 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 6 juin 2013 - 3 janv. 2009 à 19:28
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 3 janv. 2009 à 20:18
Bonjour,
j'utilise vb 2005, sur un form j'ai un TabControl et je voudrais verrouiller tous les onglets sauf un (celui qui sélectionné)
et en passant à l'onglet suivant qui sera déverouillé tous les autres restent verouillés

1 réponse

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
3 janv. 2009 à 20:18
Bonjour, je ne fait pas de VB.NET mais la solution est quasi semblable, tu dois juste adapté le code à la syntaxe du VB :

Comment par appeler une nouvelle méthode lorsque tu clique sur ton TabControl en placant quelque chose comme ceci dans la méthode InitializeComponent du code du Form :
this.tabControl1.Click += new System.EventHandler(this.tabControl1_Click);


Ensuite dans ton code général :
private void tabControl1_Click(object sender, EventArgs e)
{
    if (tabControl1.SelectedTab.Equals(tabPage2))
    {
        tabControl1.SelectTab("tabPage1");
    }
}


Ainsi lorsque tu cliquera sur le deuxième onglet, automatiquement tu reviendra sur le premier.

A toi d'adapter cela à tes besoins afin que par exemple le deuxième onglet ne soit accessible qu'à partir du moment où l'utilisateur à répondu à tout dans le premier, ...

J'ai regardé s'il n'existait pas une propriété Enabled qu'on pourrait mettre sur un TabPage mais apparament non donc je ne vois pas beaucoup d'autres solutions.

Ou alors si cela te convient tu peux mettre le Enabled de ton TabControl sur False ce qui empèchera l'utilisateur de naviguer au sein des onglets, et toi tu gère la navigation avec la méthode SelectTab();. Le hic c'est que tout les formulaires qu'ils contiennent sont alors indisponible (Enabled = false).
0