BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
6 janv. 2009 à 11:56
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 2012
-
8 janv. 2009 à 15:53
Bonjour j'ai une application en MDI dans laquelle j'ai 4 MDIChild. Lorsque je fais CTRL+TAB je me ballade de feuille en feuille en fonction de l'empilement.
Ma question : est-il possible de connaitre le TabIndex de la feuille Juste en dessous. Par exemple l'empilement des feuilles est "Fiche1","Fiche3","Fiche4","Fiche2". La "fiche2" a le focus. Normalement si je fait CTRL+TAB ce sera la fiche 4 qui aura le Focus. J'aimerai justement savoir, par code, que c'est cette feuille (la 4) qui est la prochaine.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 6 janv. 2009 à 14:00
Salut,
Voici deux fonctions que j'ai faite qui va te retourner le nom ou leTabIndex du contrôle qui aura le focus au prochain CTRL + TAB :
2 possibilités :
<hr size= "2" width="100%" />
1° Possibilité : Récupérer le nom du prochain contrôle qui aura le focus
<hr size="2" width="100%" />
Exemple : GetNameNextControlFocus(Fiche2) et la fonction va te retourner Fiche4
Function
GetNameNextControlFocus(ByVal ctrl As System.Windows.Forms.Control) As String Return Me.GetNextControl(ctrl, True).Name
End Function
<hr size ="2" width= "100%" />
2° Possibilité : Récupérer le TabIndex du prochain contrôle qui aura le focus
<hr size="2" width="100%" />
Exemple :
Si Fiche1 - TabIndex = 0
Si Fiche2 - TabIndex = 2
Si Fiche3 - TabIndex = 1
Si Fiche4 - TabIndex = 3
Get_TabIndex_Next_Control_Focus(Fiche1) et la fonction te retournera 1
Get_TabIndex_Next_Control_Focus(Fiche3) et la fonction te retournera 2
Get_TabIndex_Next_Control_Focus(Fiche2) et la fonction te retournera
3
Function
Get_TabIndex_Next_Control_Focus(ByVal ctrl As System.Windows.Forms.Control) As Integer Return Me.GetNextControl(ctrl, True).TabIndex
End Function
BarthOlivier
Messages postés132Date d'inscriptionmercredi 6 mars 2002StatutMembreDernière intervention27 novembre 20121 6 janv. 2009 à 17:01
Merci mais ca ne marche pas, Voici ma fonction :
For Each ChildForm As FrmGraph In Me.MdiChildren
MaxIndex += 1 If ChildForm.NumFiche MDIFocus Then IndexActu ChildForm.TabIndex
strMessages = strMessages & ChildForm.TabIndex & " "
If ChildForm.NumFiche = MDIFocus Then
strTemp = Me.GetNextControl(ChildForm, True).Name()
End If
Next
Me.Text = strTemp
la variable MDIFocus est une variable globale que j'inialise en fonction de la page qui a le focus. dans mon cas MDIFocus =2
dans l'ordre d'empilement, j'ai la fiche "2" qui est tout en haut, ensuite la "4" puis la "1" puis la "3"
Si j'applique cette methode avec le GetNextControl, strTemp = FrmGraph3 et non pas FrmGraph4 comme j'aimerai avoir (puisque c'est elle qui est juste en dessous de la Fiche2(FrmGraph2)