promethee2003
Messages postés38Date d'inscriptionlundi 8 novembre 2004StatutMembreDernière intervention10 décembre 2006
-
29 juil. 2006 à 19:51
promethee2003
Messages postés38Date d'inscriptionlundi 8 novembre 2004StatutMembreDernière intervention10 décembre 2006
-
31 juil. 2006 à 15:43
J'ai un petit soucis au sujet de l'ordre des fenetres d'un de mes projet...
J'ai une feuille principales... celle peut ouvrir une feuille modal (liste de fichiers)... cette feuille modal doit pouvoir ouvrir une feuille non modal avec des infos diverse.
VB refuse l'ouverture d'une feuille non modale si une autre fenetre modale est deja ouverte.
A noter que si la feuille modale est fermer, la feuille non modale doit absolument rester ouverte, ... et que si la feuille modal est afficher en même temps que la feuille non modale, celle ci doit etre accessible...
J'avoue que j'ai beaucoup de mal à resoudre ce probléme...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 juil. 2006 à 20:28
Ben déjà commence par regarder les définitions de "modal" et "non modal", tu comprendra ton problème tel que tu le pose, à peu de chance de trouver une solution.
Sevyc64 (alias Casy)<hr align="center" size="2" width="100%" /><stron></stron># LE PARTAGE EST NOTRE FORCE #
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 29 juil. 2006 à 23:45
Salut j'ai un peu de mal a comprendre exactement ton pb ,
mais je peux te donner pas mal d'astuces qui devraient t'aiaider a le resoudre ..
tu as 2 sortes de forms
- les non-modales : ouvertes grace a showdialog (la premiere form chargée dune application windows form est non -modale, si tu fermes cette premiere form automatiquement cela fermera l'application)
un formulaire non-modal doit obligatoirement etre fermé pour avoir acces aux autres forms en cours de l'application
- les modales : ouvertes par show() , on peut facilement passer d'une form a une autre
on peut avoir quelques informations sur la collection de forms ouvertes grage a
My.Application.OpenForms
par exemple :
le nombre de forms ouverte > My.Application.OpenForms.count
avoir acces a une form en partculier > My
.Application.OpenForms(i)
ainsi tu peux faire des tests de ce style pour voir si la form est la premiere chargée du projet> If
Me
Is
My.Application.OpenForms(0)
Then ...
tu peux egalement faire en sorte quune form modale soit toujours affichée au-dessus dune autre formtout en ayant acces aux deux forms
Dim frmrecherche As FRechercher
frmrecherche =
New FRechercher
frmrecherche.Owner = Me
frmrecherche.TopLevel =
True
Form_Frecherche.m_Forms_recherche_crees += 1
frmrecherche.Show()
et tu peux mm faire des tests de ce style
For
i = 0
To
My
.Application.OpenForms.Count - 1
If
Me
Is
My
.Application.OpenForms(i)
Then
occurence_recherche._mfenetre_demande = i
End
If
Next
a la rigueur au lieu de fermer une form si elle est non-modale , tu la cache (Hide()) en ayant prealablement effectuer les operations comme si elle ete vraiment fermée
tu peux également definir des classes Forms contenant des membres partagés (shared) qui permettent de créer les forms au fur et a mesure et qui gere la fin de l'application
voila ++
Vous n’avez pas trouvé la réponse que vous recherchez ?
promethee2003
Messages postés38Date d'inscriptionlundi 8 novembre 2004StatutMembreDernière intervention10 décembre 2006 30 juil. 2006 à 10:35
je suis d'accord,... sauf qu'effectivement tu as un peut inversé les deux...
Mais cela ne regle pas mon probléme.
je vais essayé de le reexpliqué.
J'ai une form princiale qui contient un listview, lorsqu'on choisi un element on peut ouvrir une form secondaire qui contient des details.
cette deuxieme form s'ouvre en modal pour qu'on ne puisse pas touché à la form principale tant que la deuxieme est affiché.
jusque la tout fonctionne parfaitement. Cependant la form secondaire permet d'ouvrir une troisiéme form. Celle-ci doit s'affiché devant la principale et derriére la seconde. tout en restant accessible aussi bien par la form principale que par la secondaire. lorsque l'on ferme la form secondaire la troisieme ne doit pas être fermé. En fait la troisieme form doit etre autonome.
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 30 juil. 2006 à 12:30
oOps pardon
wai jai tendance tout le temps a confondre comme cest tellement peu parlant modal et non-modal
par contre tu peux essayer ainsi mais il faut que tu oubli l'idée de faire ta form secondaire avec showdialog
ainsi tu pourras passer tres f acilement dune fenetre a autre
...
frm_secondaire_details.Owner = Me
frm_secondaire_details
.TopLevel = True
frm_secondaire_details.show
frm3.Owner = Me
frm3
.TopLevel = True
frm3.show
enfin par contre si je puis me permettre ce genre d'idee avec tout un tas de fenetres qui se chevauchent je les avait au tout debut de mes etudes, il vaut mieux trouver une autre solution avec des panels par exemple que tu cachent ou rend visible puis localisent a endroit desire ou un autre moyen
+
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 31 juil. 2006 à 11:47
Salut,
Tu pourrais aussi vérifier si la 2e Form (celle que tu voulais Modal)
est ouverte avec une petite fonction que tu places dans le code la Form
principale. Il ne serait donc plus nécessaire d'ouvrir en Modal. Tu
peux alors te promener de Form2 à Form3 et inverse sans problème.