copie de form de façon dynamique - VB/VBA/VBS - Programmation
Marsh Posté le 23-05-2003 à 11:04:25
pourquoi faire une "copie" de form alors qu'il te suffit de la réinstancier dans une autre variable, ou même un tableau de forms?
Marsh Posté le 23-05-2003 à 11:08:17
effectivement rien ne t'empeche de créer dynamiquement tes forms et de leurs ajouter des controles
Marsh Posté le 23-05-2003 à 11:31:22
Bon ok, pour l'instanciation, merci
Des fois, on ne pense pas au plus élémentaire
Par contre, je suis dans la bonne voix pour mettre des controls sur ma form, je dois bien cacher des controls d'index 0 que je cache. Et je crée des nouveaux en faisant des load control (index).
J'avais utilisé une autre technique, avec la methode controls.add, le probleme, c'est que l'on doit créer autant de variable que control, sinon, on ne peux pas gérer les évènements sur ces controles. Le problème c'est qu'on ne peut pas définir une variable en mode excécution, n'est ce pas ?
Ca m'arrangerait bien de ne pas avoir à cacher ces controls, alors si je peux faire autremment ...
Merci de vos réponses
Marsh Posté le 23-05-2003 à 11:39:19
tu ne peux effectivement pas créer de variables à l'exécution, et en fait, tu n'as pas trop le choix:
1) tu utilises Controls.Add pour ajouter des contrôles dont les noms seront déclarés préalablement
2) tu fais des Load control en cachant un contrôle d'index 0 au design time pour chaque type de contrôle.
Et on ne peut pas faire un Private WithEvents txt(5) As TextBox
La méthode la moins prise de tête me semble être la seconde puisque tu pourras gérer tes events avec une procédure par type d'event.
Marsh Posté le 23-05-2003 à 10:05:20
Salut,
Dans mon application je souhaite créer dynamiquement des form et leur rajouter des controles. La technique que je pense employer consister à avoir une form modèle, avec un control de chaque type (label, textbox, ...) qui auront un index 0. Ainsi je pourrais rajouter des contrôles de meme type en faisait load typecontrol(index).
Mon problème est de créer une form qui contient tous ces types de
controles. J'envisage 2 solutions.
1) ajouter dynamiquement des controles d'index 0, à priori, c'est pas possible
2) créer avec l'interface vb, une form contenant ces types de
controles d'index 0, ensuite, je ferais une copie de cette form pour créer les forms que je dois faire.
Ma question est comment fait t-on pour faire une copie d'une form et des contrôles qu'elle contient, et ce de façon dynamique, car je ne sais pas à l'avance, combien de form j'ai besoin.
Merci par avance