Form (Load / Unload) [Résolu]

Signaler
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009
-
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
-
Bonjour,

avez-vous un conseil (ou du code) pour afficher une Form1 en dé-saffichant une autre Form2
et vice-versa.

MAIS ;o) Sinon c'est trop facile : L'événement "Formx_Load" de la Form appelée doit se déclencher à chaque demande d'affichage.
x = 1 ou 2

Style(mais cela ne mache pas)
   
Private Sub CmdCloseForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCloseForm2.Click
        LOAD        Form1
        UNLOAD       Me
End Sub

Private Sub CmdCloseForm1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCloseForm1.Click

        LOAD        Form2

        UNLOAD       Me

End Sub

Merci,
Marco

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Tu vas dans les propriétés de ton projet, onglet Application.

Dans la liste déroulante Mode d'arret, tu sélectionne A la fermeture du dernier formulaire.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
salut,

remplace ton LOAD Form1 (et 2) par
Form1.Show

Load ne fait que charger, sans pour autant la montrer.
Le .Show est équivalent de
Load Form
Form.Visible = true

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
La syntaxe exacte est celle-ci :

Private Sub CmdCloseForm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCloseForm2.Click
    Form1.Show
    Me.Close
End Sub

Private Sub CmdCloseForm1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdCloseForm1.Click
    Form1.Show
    Me.Close
End Sub

Attention à la configuration de ton projet, notamment au mode de fermeture.
Dans la configuration par défaut, la fermeture de la form de démarrage provoquera l'arret de l'application, quelque soit le nombre d'écrans encore ouverts.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
Salut Casy,

bien vu, j'avais lu à l'arrache, pas fait gaffe que c'était du dotnet (alors que c'est le bon thème et qu'il y a les params sender, e  etc.)

Sorry

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Ok mais cela me pose alors problème...

Attention à la configuration de ton projet, notamment au mode de fermeture.
Dans
la configuration par défaut, la fermeture de la form de démarrage
provoquera l'arret de l'application, quelque soit le nombre d'écrans
encore ouverts.

Autre chose ?

Merci,
Marco
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Des idées ?

Je comprend que La forme initiale/démarrage si elle se ferme, c'est l'arrêt de la tâche. Mais si je n'ai que deux formes,
comment passer de l'une à l'autre (on re-provoquant à chaque ouverture de la forme un event LOAD) ?
Et je quitterai la forme initiale/démarrage par un bouton QUIT.

Merci,
Marco