Ouvrir fenetres dynamiques

Résolu
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012 - 20 mars 2012 à 18:06
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre 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

13 réponses

lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
23 mars 2012 à 14:46
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
3
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
20 mars 2012 à 19:48
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
---
0
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
20 mars 2012 à 23:28
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.
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
20 mars 2012 à 23:55
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
0

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

Posez votre question
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
21 mars 2012 à 07:34
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
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
21 mars 2012 à 10:00
Salut

envoie ton code pour voir ?
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
21 mars 2012 à 12:50
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
---
0
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
21 mars 2012 à 22:36
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
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
21 mars 2012 à 22:56
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
---
0
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
22 mars 2012 à 13:28
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
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
22 mars 2012 à 13:41
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
---
0
lololilizozo Messages postés 28 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 2 octobre 2012
22 mars 2012 à 18:19
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.
0
NHenry Messages postés 15032 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 janvier 2023 156
22 mars 2012 à 18:52
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
---
0
Rejoignez-nous