Manipuler les formulaires d'un projet

fakii Messages postés 29 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 14 mai 2013 - 31 déc. 2011 à 22:40
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 - 17 janv. 2012 à 11:43
salut à tous;
j'ai un projet en vb.net, je veux que lorsque j'ouvre un formulaire à partir du menu de mon applications les autres fomulaires se ferment.

je veux une procédure qui permet de faire cela. est ce que quelqu'un peut m'aider?

7 réponses

NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
1 janv. 2012 à 00:50
Bonjour,

As-tu essayé quelque chose ?
Sinon, pense à lire le point 1 de ma signature.

Allez un indice :
Tableau des fenêtres ouvertes

---------------------------------------------------------------------
[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
---
Mon site
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 6
1 janv. 2012 à 06:12
Bonjour,

FormX.close()
etc...

Cordialement, Joe.
0
fakii Messages postés 29 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 14 mai 2013
1 janv. 2012 à 21:49
j'ai essayé de faire la chose suivante:

Public Sub afficher()
Dim f1, f2 As Form
f1 = Form.ActiveForm

For i = 0 To coll.Count - 1
f2 = CType(coll.Item(i), Form)
If f1.ToString <> f2.ToString Then

f2.Close()

End If

Next

End Sub

tel que coll est une arraylist qui est remplie par la liste des formulaire de l'application

j'appel la procédure dans le click du menuitem de chaqye formulaire mais ça marche pas bien

je sais pas où je dois faire appel, vous pouvez m'aider?
0
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
1 janv. 2012 à 23:34
Bonjour,

Dans le Form_Load, tu ajoutes la form (instance, mot clé Me), et si tu le désires, avant, tu fermes les autres.

En .NET 2 et +, préfères utilises les collection génériques : List(Of ...)

---------------------------------------------------------------------
[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
---
Mon site
0

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

Posez votre question
fakii Messages postés 29 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 14 mai 2013
2 janv. 2012 à 21:25
salut
desolée NHenry mais j'ai pas bien compris ce que tu a dis. j'ai appelé cette procédure dans l'événement load des formulaire,j 'ai essayé aussi dans l'avénement activate, et dans l'événement activate du formulaire parent mais ça marche pas bien, ça marche juste lorsque j'ouvre le form2 et Form3 mais lorsque j'ouvre les autres fomulaires , Form3, Form4 restent ,c'est à dire ils ne se ferment pas.

plus de signes s'il vous plait
0
NHenry Messages postés 15030 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
7 janv. 2012 à 22:31
Bonjour,

Je penseais à une Sub du genre (dans un module) :
Public Sub AddForm(Byval pForm as Form, byval pCloseOther as Boolean)
    Static lLst as New List(Of Form)
    
    If pCloseOther Then
        For Each lFrm As Form In lLst
            lFrm.Close
        Next
        lLst.Clear
    End If
    
    lLst.Add(pForm)
End Sub


---------------------------------------------------------------------
[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
---
Mon site
0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
17 janv. 2012 à 11:43
Bonjour,

    Private Sub FermerAutresFenetres()
        Dim fenetresAFermer As New List(Of Form)
        For Each frm As Form In My.Application.OpenForms
            If frm IsNot Me Then
                fenetresAFermer.Add(frm)
            End If
        Next
        For Each frm As Form In fenetresAFermer
            frm.Close()
        Next
    End Sub
0