Appeler un form depuis le sub main

Résolu
cs_nirmou Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 15 avril 2005 - 11 avril 2005 à 17:00
cs_nirmou Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 15 avril 2005 - 13 avril 2005 à 09:19
Salut, j'ai agencé mon programme comme suit : un module contenant plusieurs procédures et un sub main les appelant. En parallèle, j'ai crée un formulaire Form1 que j'aimerais appeler dans mon module au moment que je désire ( voir appeler plusieurs forms différents).Mais rien ne fonctionne ( form1.activate...).
Merci d'avance.
nirmou.

7 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 avril 2005 à 17:35
Ok, tiens l'ampoule je vais mettre le courrant, effectivement sous VB.Net cela fonctionne pas vraiment comme VB6.

Sub Main()
   dim MainForm as New Form1   'Création de l'objet
   MainForm.showdialog   'Affichage en avant-plan
End Sub


Il n'est pas necessaire d'effectuer le Load car comme .Net fonctionne en 100% objet, à partir du moment où tu créer l'objet avec le DIM, il le charge en mémoire.
Pour la feuille modal : .Show VBModal à été remplacer par .ShowDialog

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
3
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
11 avril 2005 à 17:18
je n'ai pas vb6 sous la main mais form1.load ? ou .show puisque show est censé chargé la form non ?
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
11 avril 2005 à 18:07
Salut ;O)

En effet, MonForm.Show charge et affiche un formulaire.
Si cela ne fonctionne pas, tu dois avoir un problème autre.

GUy
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 avril 2005 à 19:11
Salut, une autre solution consiste à utiliser ta form comme un objet :

Sub Main()
   dim MainForm as New Form1   'Création de l'objet
   load MainForm   'Mise en mémoire de celui-ci
   MainForm.show   'Affichage
End Sub


L'avantage de le mettre en mémoire avant c'est que si tu as des infos à lui transmettre, ou a stocké avant de faire autre choses, la form ne s'affiche pas tant que tu n'a pas fait le Show, maintenant tu peux forcer l'affichage de ta MainForm en 1er plan en remplaçant :

MainForm.show

Par

MainForm.show VBModal

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0

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

Posez votre question
cs_nirmou Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 15 avril 2005
12 avril 2005 à 10:46
Merci de vos réponses.Mais ça ne marche pas encore, il y a 2 erreurs : la première est que VB.net ne reconnais pas l'intruction load ( quel est sa dimension?, faut-il appeler une option particulière en amont du pgm). La seconde erreur vient du fait que l'instruction show fait apparaître trop rapidement la fenêtre et qu'en ajoutant VBMODAL, VB.net l'insére automatiquement comme argument de .Show et ensuite il me sort qu'il y a trop d'argument pour cette instruction ? je suis un peu perdu.
Si vous pouvez m'éclairer svp...

Nirmou
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
12 avril 2005 à 17:59
Tu aurais pu dire que tu étais sous VB.NET... Nous ne sommes pas des devins ! Ce site est en majeur partie consacré à VB6 même s'il s'est étendu vers VB.NET. Prochaine fois, stipule clairement sous quel langage tu es, cela permettra de faire avancer les choses bcp plus vite...

Guy
0
cs_nirmou Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 15 avril 2005
13 avril 2005 à 09:19
Ok merci bien et désolé pour le manque de précision quant à la version utilisée.
C'est noté pour la prochaine fois...

Nirmou.
0