Des modules ou des forms ?????

Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 - 29 nov. 2010 à 19:05
bitshifter Messages postés 61 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 28 mai 2012 - 1 déc. 2010 à 22:12
Bonsoir,

j'ai une appli constituée d'un form, de textbox, de command_button et de listbox. Elle se présente de la manière suivante :
dans le form, 6 frames pour délimiter des zones de calculs.

Je voudrais"scinder l'application en deux savoir :
- d'un cote frame 1, 2, 3, 4
- de l'autre frame 1, 2, 5, 6
donc frames 1 et 2 communes

le but etant d'afficher dans un premier temps
- frames 1, 2, 3, 4
et par un bouton next,remplacer ce frame par le 1, 2, 5, 6

et pouvoir aussi revenir en arrière avec un bouton previous

dans un premier temps, j'ai fait pour tester deux forms, un avec le premier frame, l'autre avec le second et avec un bouton, j'affiche le second au dessus du premier et je fais passer dans le sens inverse avec le previous.

Ca fonctionne mais je me demande si il n'y avais pas moins "bourrin" comme méthode, avec des modules par exemple ....

Autre petite question : dans la configuration actuelle, avec mes 2 forms, mon form2 a besoin d'une valeur présente dans le form1 et j'ai beau essayer, je ne vois pas comment faire.

Une petite aide ???

Merci

6 réponses

Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
29 nov. 2010 à 21:14
Pour éclairer, voici schématiquement ce que j'ai .....

et voici ce que je voudrais .....

ou
selon le cas.
J'espère avoir été un peu plus clair.
Merci
0
paramecie Messages postés 15 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 29 novembre 2010
29 nov. 2010 à 22:02
Salut -

Tellement de solutions... en développement il n'y en a jamais une unique, mais chacune est un compromis.

Ici par exemple, et très vite regardé, je te proposerais de créer un User Control par "page", et pour simuler le passage de page en page, de jouer sur leur visibilité (.Visible) avec un petit .Zorder pour mettre tout au dessus celui qui est visible.

De cette façon, tes boutons, champs, et surtout codes sont bien séparés et propres à chaque User Control (quitte à trouver des moyens de communications, par globale... ou mieux Event, ou passage d'un objet commun en paramètre, etc.)

Bref, c'est une solution qui peut convenir - et probablement plus claire (en particulier au niveau du code séparé) que de tout mettre dans des grandes frames...

Sylvain
0
bitshifter Messages postés 61 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 28 mai 2012 1
30 nov. 2010 à 00:59
Une solution que j'emploie souvent est de mettre en forme les frames visibles en premier et de mettre leur mise en place dans le bouton les appelant.

Pour les frames à rendre visibles, je les place et le bouton précédent les rend invisibles.

Le bouton appelant ces nouveaux frames les rend visibles et rend invisibles ceux qui ne sont plus nécessaires.

Si la form est de style resizeable, une bonne idée est aussi de placer ces frames aux coordonnées correctes.

------------------------
richmann
Un chien pense: Ils me nourrissent et me soignent: ils sont des dieux.
Un chat pense: Ils me nourrissent et me soignent: je suis un dieu.
-------------------
0
Attila54 Messages postés 409 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 21 novembre 2013 1
30 nov. 2010 à 11:48
merci a vous deux popur les solutions ....... pourrais tu préciser un peu bitschifter ta méthode ???? notamment sur les boutons appelant et rendant invisible les dites frames ????

Merci bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012
1 déc. 2010 à 14:21
Salut,

tu as de belles pistes. dommage que tu ne sois pas en langage objet dans ce cas la.

je crois pouvoir repondre a
" pourrais tu préciser un peu bitschifter ta méthode ???? notamment sur les boutons appelant et rendant invisible les dites frames ????
"
dans l editeur de formulaire, double clic sur ton boutton. ca te renvoi a une fonction
tes frame doivent avoir (j en suis presque sur) une propriete les rendant invisible ou non, essaye de placer un; unframe.visible = true ou false dans cette fonction d evenement de ton boutton.

petites idees supplementaire (ps: je n ai pas de vs installes sur mon ordi en ce moment donc pour les exemples de code...)

nomenclature le nom de tes frame

dans un modules tu regroupe l ensemble des variables qui seront utilisees tout au long de ton projet.
parmis ces variables:

un tableau nomme tvis par exemple de liste de no frame a afficher (la maniere simple un tableau de string separe par des virgules)

un entier, qui est l etat actuel de ton formulaire

un tableau de frame (pourquoi pas?) tf[1] = monform.frame1 ...

reste ensuite a affecter a un evenement clic a tes bouttons prochain et suivant

ex bt suivant:
dim affiche as boolean
etat = etat + 1 ' - 1 pour precedant
call miseajour
' dans la sub miseajour
for i = 0 to nombreTotalframe
affiche = instr(tvis[etat],"" & i) > 0
mondulevariable.tf[i].visible = affiche
next i


bon dev!
0
bitshifter Messages postés 61 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 28 mai 2012 1
1 déc. 2010 à 22:12
En effet, j'utilise des arrays de contrôles, ce qui me permet de faire une fonction simplifiée pour rendre visible ou non en groupe.

Sub Bouton1_Click
fraSelect(1).Visible = TRUE
fraSelect(2).Visible = FALSE
End Sub

Faire l'inverse pour Bouton2_Click.
----------------
richmann
Un chien pense: Ils me nourrissent et me soignent: ils sont des dieux.
Un chat pense: Ils me nourrissent et me soignent: je suis un dieu.
-------------------
0
Rejoignez-nous