|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Bonjour,
Je voudrai à l'ouverture de mon formulaire masquer tous les controle pour les afficher selon le choix d'une liste déroulante. Bon ce n'est pas difficile à faire en écrivant le chemin du control comme par exemple : . Mais c'est super long quand tu as trop de control. J'ai voulu le faire avec une boucle mais il me dis qu'il ne peut pas masquer les controles actif. Voila mon programme: Code :
Ca m'éviterai des lignes et des lignes de code. Merci |
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Il faut que je rende le control inactif.
J'ai pensé mettre le focus sur un autre control mais ca na pas l'air de marcher. |
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
bon j'ai trouvé une solution mais j'ai un autre problème.
Voici mon code: Code :
Avec ce code c'est possible. Le problème c'est qu'il me dis que je ne peux pas désactiver un control actif. Grrrrr!! Il va me faire péter les plombs. |
||
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Bon voila la solution.
Il faut mettre tout les controle invisible par la propriété (clic droit). Puis avec se code ca marche. Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
En fait, c'est effectivement le focus qui te posait problème (j'ai déjà rencontré le problème).
Il faut alors l'envoyer sur un contrôle qui est toujours visible sur ton formulaire (comme par exemple ta liste déroulante de choix) avant de masquer les contrôles. Si ce n'est pas possible car tu veux masquer tous les contrôles, il faut faire comme tu l'as fait : rendre invisible les contrôles directement dans le formulaire et les afficher ou non lors du chargement. Pour ce qui est de la bizarrerie, elle s'explique par le fait que le focus se place au chargement du formulaire sur le premier objet disponible suivant l'ordre de tabulation. Donc lorsque ton code s'exécutait, le focus était déjà placé et avait rendu actif un des contrôles. Si aucun objet n'est disponible pour le focus car les champs sont tous invisibles/disabled/locked, il n'y a pas de focus. Or le focus se place au chargement automatiquement, donc si tu rends actifs les contrôles après le chargement il n'y a toujours pas de focus sur le formulaire et tu peux donc les masquer/démasquer sans rencontrer l'erreur. |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Merci pour tes explication.
J'avais essayé de mettre le focus sur ma liste déroulante mais ca ne marchait pas. C'est peu être parce que je voulais masqué tous les contrôle de mon sous-sous-formulaire alors que je mettais le focus sur mon formulaire principale. Enfin bon j'ai trouvé une solution qui m'évite des lignes et des lignes de codes c'est le principale. |
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Re bonjour,
J'ai un autre problème lié au problème précédent. J'explique mon cas. J'ai un formulaire (Frm-Rapport de production) dans lequel j'ai un sous formulaire (frm-Code article) qui contient plusieurs sous formulaires. Se sont dans ces sous formulaires que je veux masquer les différents controle. Ma boucle dans le message précedent marche pour un sous formulaire mais lorsque je veux qu'il le fasse pour les autres ca ne marche pas car le control Ctrl est déjà utilisé. Code: Code :
Est-ce que vous savez comment je pourai faire pour faire ma boucle sur les 3 sous-sous formulaire ou alors sur tout les controle de mon sous formulaire code article? Merci |
||
|
|
00
|
|
|
#8 | ||
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Bonjour,
Il suffit tout simplement de renommer votre variable d'un nom différent pour chaque boucle : Code :
cordialement, |
||
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() quentin masséInscription : janvier 2010 Messages : 251 ![]() |
Merci de t'as réponse mais le problème c'est qu'en dessous de ces lignes j'en ai d'autre qui font appel a CTRL donc si je fait comme tu dis je devrai faire de même pour les autres lignes ce qui reviendrai au même.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com