Bonjour
J'essaye de trouver un moyen de rendre inactif un tab dans un tabcontrol
Mais je ne trouve rien
Ca m'etonne un peu
- Soit un Enabled=False
- Soit un Visible=False
- Un ReadOnly=true;
- ToucheMoiPasVasVoirAilleurs=true;
- Ou que sais-je ??
Bonjour
J'essaye de trouver un moyen de rendre inactif un tab dans un tabcontrol
Mais je ne trouve rien
Ca m'etonne un peu
- Soit un Enabled=False
- Soit un Visible=False
- Un ReadOnly=true;
- ToucheMoiPasVasVoirAilleurs=true;
- Ou que sais-je ??
Salut,
Un bon petit IsEnabled setté à false sur ton TabItem ne fonctionne pas ?
Bien essayé
J'ai eu un moment d'espoir
Mais :
1- IsEnabled n'existe pas
2- Par contre grace a ta suggestion, j'ai trouvé IsAccessible
3- Helas ca ne fait rien :
J'ai essayé
Ca ne l'émeut point !
Code : Sélectionner tout - Visualiser dans une fenêtre à part tabCtrl.TabPages[0].IsAccessible=false;![]()
Juste une question, ton tabcontrol est celui WinForm ou un tabpanel d'ajax?
La propriété Enabled desactive bien les controls à l'intérieur du tabPage concerné, mais pas la navigation des onglets.
Je ne crois pas que cela soit prévu.
Sinon, tu peux toujours essayé d'avoir une gestion (attention aux instances) ou tu supprimes l'onglet que tu ne veux pas activer...
Salut a tous
Pour Arasium : WinForm
Pour KelBonPlan : Il n'y a pas d'enabled pour un tabPages
Pour TheMonz : je venais de trouver cette explication mais sur base de cette idée, j'ai fait mieux (je pense)
1- Il faut mettre les Flags IsAccessible
2- Ensuite j'intercepte dans SelectedIndexChanged
3- J'ai pas encore trouvé comment connaitre proprement le previous index
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private void tabctrl_Def_SelectedIndexChanged(object sender, EventArgs e) { if (tabctrl_Def.SelectedTab.IsAccessible == false) { previousIndex=1; tabctrl_Def.SelectedIndex = previousIndex; } }
salut
pour le "previousIndex", si tu es sur l'onglet 0 (1) au démarrage, tu initialises ton previousIndex avec cette valeur
Ensuite, dans le changement d'index (que tu trappes d'ailleurs), il te suffit de mettre à jour cette valeur là (en fonction bien sur du comportement que tu dois avoir (ie : tu mets à jour la valeur que quand tu changes d'onglet autorisé )
The Monz, Toulouse
Tiens, je suis un veinard, dans mon composant, moi j'ai le droit à une propriété Enabled...
Sinon ton idée est pas mal (bien que la propriété IsAccessible ne soit pas prévu pour ça, normalement...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private int Int_PreviousIndex = -1; private void TabControl1_SelectedIndexChanged(object sender, System.EventArgs e) { if (TabControl1.SelectedIndex.IsAccessible == false) { TabControl1.SelectedTab = TabControl1.TabPages(Int_PreviousIndex); } Int_PreviousIndex = TabControl1.SelectedIndex; }
salut
T'as pas essayé :
TheMonzPourraitAvoiruneRéponse = true ?
Allez, regardes ici !!!
Lalahitou
The Monz, Toulouse
Partager