Ouvrir fenetres dynamiques [Résolu]

Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
- 20 mars 2012 à 18:06 - Dernière réponse :
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
- 23 mars 2012 à 14:46
bonjour,
j'ai un probleme avec des fenetres dynamiques
en fait je creer des fenetres dynamiques dans un module.
dans une fenetre creer "en dure" je souhaite ouvrir une des fenetres dynamique d'apres sont nom et je n'y arrive pas, comment faire
meri beaucoup
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
23 mars 2012 à 14:46
3
Merci
a y est zé trouvé
en fait moi je creai une fenetre uniquement avec le code.
maintenant j'ai cree une fenetre vide avec le designer et j'ai un tableau de form public dans lequel je fait une copie de cette fenetre et ensuite dans la copie qui est dans le tableau, je place mes differents label et mon picturebox.
de cette facon ca fonctionne parfaitement.
encore merci a tous et .... heureusement que vous etes la !!!
bonne journee

Merci lololilizozo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de lololilizozo
Messages postés
14302
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
21 novembre 2018
20 mars 2012 à 19:48
0
Merci
Bonjour,

Soit tu regardes du coté de Reflection pour trouver les classes, soit tu fais une liste type :

Select Case ...
Case "x"
x.Show

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
20 mars 2012 à 23:28
0
Merci
merci de me repondre.
en fait je commence tout juste en vb.net et j'ai rien compris
j'explique ce que je voudrais faire.
dans un module, je cree deux form differents de maniere dynamique qui sont "form1" et "form2" par exemple avec plusieurs labels sur chacuns.
ensuite dans la form principale de l'appli., quand je click sur un bouton, si une variable string dans mon programme contient la valeur "form1", je creer une instance de form1 et pareil pour form2.
bien sur, si je click trois fois sur le bouton, selon la valeur de la variable, j'aurais peut etre deux form1 et une seul form2.
si quelqu'un avait un petit bout de code pour faire cela, ce serait sympa.
merci et bonne nuit a tous.
Commenter la réponse de lololilizozo
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
20 mars 2012 à 23:55
0
Merci
Salut

en fait je commence tout juste en vb.net et j'ai rien compris


tu ne peux pas dire j'ai rien compris puisque
tu n'as encore rien fait ou lu

si quelqu'un avait un petit bout de code pour faire cela, ce serait sympa.


le mieux serait que tu commences toi meme
à coder c'est le seul moyen pour apprendre et
progresser et si tu as un problème le forum et
la et non pour du tout cuit
Commenter la réponse de cs_ShayW
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
21 mars 2012 à 07:34
0
Merci
bonjour,
en fait je ne suis pas "trop" nul c'etait pour ca le:
mon programme fonctionne mais je bute sur le point precis des fenetres dynamiques.
j'arrive a creer mes fenetres dynamique dans mon module mais je n'arrive pas a les afficher quand j'en ai besoin c'est tout.
j'ai essayer en les creant de les mettres dans un tableau de form afin de les recuperer et j'arrive a les ouvrir avec:
dim form1 as new system.....
form1=tableau(x)
form1.show
mais lorsque je les ferment (avec la croix) et que j'essai de les re-ouvrir, j'ai une erreur comme quoi la fenetre n'existe plus alors que dans mon tableau elle existe encore ????
merci et bonne journee
Commenter la réponse de lololilizozo
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
21 mars 2012 à 10:00
0
Merci
Salut

envoie ton code pour voir ?
Commenter la réponse de cs_ShayW
Messages postés
14302
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
21 novembre 2018
21 mars 2012 à 12:50
0
Merci
Bonjour,

"mais lorsque je les ferment (avec la croix) et que j'essai de les re-ouvrir, j'ai une erreur"

Normal, la fenêtre a été détruite en RAM, dans ce cas, préfère intercepter la fermeture avec l'évènement QueryClose (je crois) et utilise Me.Hide au lieur de Me.Close.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
21 mars 2012 à 22:36
0
Merci
je vais expliquer ce que je voudrais faire.
dans mon projet, j'ai une seule forme "en dur".
au demarrage de l'application, dans un module je lis un fichier .ini qui me dis que je dois creer x formes.
sur chaques formes creer, j'ai toujours la meme chose, un picture box avec un fichier bmp associé et un ou plusieurs label.
dans le fichier ini j'ai le chemin de chaques fichier bmp et les coordonnees de chaque elements (le picturebox et le(s) label(s))
je n'ai pas besoin d'avoir du code dans les fenetres dynamiques, c'est juste de l'affichage dans les labels.
dans la fenetres principale, j'ai un timer et a chaques appel, je met a jour les labels des differentes fenetres si elles sont affichées (j'ai un bouton pour afficher chaques fenetres dans la forme principale)
aujourd'hui j'ai quelques fenetres mais demain je peux en avoir plus ou moins donc c'est pour cela que je les "code" dans un fichier ini.
voila ce que j'ai besoin.
comment je peux faire cela?
merci beaucoup et bonne nuit
Commenter la réponse de lololilizozo
Messages postés
14302
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
21 novembre 2018
21 mars 2012 à 22:56
0
Merci
Bonjour,

Sub OpenNewForm()
Dim lFrm as new MaForm
lFrm.Show
End Sub


Avec MaForm la form à répéter.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
22 mars 2012 à 13:28
0
Merci
bonjour,
merci NHenry mais il faut que "MaForm" soit creer avec le designer mais ca ne fonctionne pas avec une fenetre dynamique.
je crois que je vais finir par faire simple et creer mes fenetres avec le designer et quand j'aurais besoin de les modifiers je recompilerai le tout
bonne journee
Commenter la réponse de lololilizozo
Messages postés
14302
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
21 novembre 2018
22 mars 2012 à 13:41
0
Merci
Bonjour,

Si c'est juste pour changer une image ou un texte, pas besoin.
Il y a des propriétés pour ça.

Si tu veux ajouter des composants dynamiquement, il te faut l'instancier puis l'ajouter à la collection Controls du conteneur (From, GroupBox, ...)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
Messages postés
28
Date d'inscription
jeudi 2 octobre 2008
Dernière intervention
2 octobre 2012
22 mars 2012 à 18:19
0
Merci
bonjour,

[Si tu veux ajouter des composants dynamiquement, il te faut l'instancier puis l'ajouter à la collection Controls du conteneur (From, GroupBox, ...) ]

oui, ca je sais faire d'ailleur je creer ma forme en dynamique et j'y ajoute le picturebox avec le dessin que j'ai besoin ainsi que mes labels dont j'ai beaoin aussi et le tout en dynamique.
je fais tout cela dans un module et il n'y a aucun problemes c'est ok.
le seul probleme c'est de rappeler la fenetre (l'ouvrir et modifier les labels) dans une une autre sub ou function voir dans un autre module.
voila le probleme
bonne journee.
Commenter la réponse de lololilizozo
Messages postés
14302
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
21 novembre 2018
22 mars 2012 à 18:52
0
Merci
Bonjour,

En clair, tu cherches à mémoriser dans une variable globale l'instance ouverte ?

Rien de difficile, dans un module, une variable ou collection publique.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry

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.