Copier l'ensemble des propriétés d'objets entre deux forms [Résolu]

cs_JGD 48 Messages postés vendredi 17 janvier 2003Date d'inscription 6 décembre 2012 Dernière intervention - 27 mai 2009 à 19:32 - Dernière réponse : Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention
- 28 mai 2009 à 11:06
Bonjour,
J'ai 2 forms avec les mêmes objets (mêmes noms). Une fois la première Form complétée, je souhaite ouvrir la deuxième form et que l'ensemble des propriétés des différents objets de la form1 passent dans la form2. Vu le nombre important d'objets et surtout de propriétés, j'espère ne pas devoir écrire manuellement Form2.Label1.Text=Form1.Label1.Text, Form2.Label1.Top=Form1.Label1.Top, ...
Existe-t-il une méthode très simple pour débutants parce que les seules solutions que j'ai trouvées sur le site sont du chinois pour moi.
Merci d'avance.

GIGADEP
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 27 mai 2009 à 21:00
3
Merci
Bonsoir,

Je pense que toutes les solutions que tu pourras trouvés passeront vers un appel à tes contrôles, même si tu passe par une boucle en manipulant les collections de contrôles de ton formulaire, ceci te fera saisir du code pour chaque propriétés de contrôles (Me.Control(0).Text = Form2.Control(0).Text, mais aussi .BackColor, .ForeColore, si ces propriétés on une importance dans ton application)

La question que je me pose c'est surtout l'utilité d'une telle chose ? Ouvrir une deuxième feuille avec les mêmes controles que la premèire et surtout avec les mêmes propriétés, à quoi cela peut bien t'être utile ? Oriente toi peut être vers une autre organisation des formulaires/ou de ton application.

Explique nous le fonctionnement de ton projet, peut être que que l'on pourra t'aiguiller vers une solution mieux adapté..

Mayzz.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de Mayzz
cs_JGD 48 Messages postés vendredi 17 janvier 2003Date d'inscription 6 décembre 2012 Dernière intervention - 28 mai 2009 à 09:54
0
Merci
Bonjour,

Tout d'abord, merci pour ta réponse rapide.
J'ai essayé quelque chose qui ressemble à ce que tu me proposes:
Public

Sub AfficheObjets(
ByVal Obj
AsObject)Obj.top Form1.Obj.top: Obj.left Form1.Obj.left ...........

End
SubMais ça ne marche pas car vb ne reconnait pas Obj dans la fauille Form1. Dans mon idée, je n'avais plus qu'à lancer cette procédure pour chaque objet, ce qui m'aurait un peu facilité la tâche.
Ancien utilisateur occasionnel de VB6, je suis déjà dérouté par l'absence d'index dans la version 2008. J'aurais aimé pouvoir traiter tous mes labels à l'aide d'une boucle, ce qui m'aurait fait gagner du temps, mais apparemment ce n'est plus possible (ou alors je ne sais pas comment).

Mon problème, c'est que j'ai créé une Form pour créer un exercice (avec plusieurs questions). Cette forme contient plus de 300 objets (soit environ un trentaine d'objets par question). Une fois que l'utilisateur a positionné et complété les objets, je voudrais qu'il saisisse les réponses et le nombre de points à chaque question. Mais je n'ai plus assez de place sur la Form. Donc j'aurais voulu afficher une autre Form qui n'affiche que les objets d'une seule question à la fois afin que l'utilisateur ait la place pour saisir les réponses et les points affectés à la question. Ensuite, il n'aurait qu'à cliquer sur un bouton suivant pour que cette Form affiche les objets de la question n°2, etc.

Voila. J'espère avoir été clair car ce que j'essaye de faire n'est pas facile à expliquer en quelques mots.

GIGADEP
Commenter la réponse de cs_JGD
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 28 mai 2009 à 11:06
0
Merci
Je vois,
Il y a plusieurs façons de traiter ton problème. Ca m'a l'air assez simple mais je manque de détails. Je ne sais pas au juste quels sont les types utilisés pour tes réponses (TextBox String ou Integer, CheckBox Boolean, RadioButton = Integer, NumericUpDoww = Integer ou Long), je ne sais pas si je me fait bien comprendre. 

Je ne sais pas non plus comment tu t'y prend pour gérer tes questions, le plus simple, serait de faire un projet en deux parties. La première te servirait à saisir tes question avec le type de réponses et les stocker dans une source de données (que ce soit un simple texte, un fichier xml, ou une base de données...), la seconde, extrata les données du fichier et les affichera en conséquence.

Je te rassure, en maitrisant bien vb 2008, ce genre de projet ne demande pas énnormément de travail. vb 2008 est consu pour cela, facilité la création d'application bureautique, en vb 6, il faudrait des heures de codage pour disposer les contrôles correctement sur la feuille lors de sa création.

Ce que je te propose c'est de m'envoyer ta source, pour que je puisse étudier ton projet et te proposer une solution, soir même te renvoyer un exemple.

Je te laisse mon mail : [mailto:contact@mayzzsoft.com contact@mayzzsoft.com]

Mayzz.
Commenter la réponse de Mayzz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.