IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Rendre Form1 invisible en VB 2010 [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut Rendre Form1 invisible en VB 2010
    Bonsoir à tous. J'ai besoin de votre aide.
    Je suis sous VB 2010
    J'ai crée la fenêtre principale Form1 où j'ai mis un bouton, le clic de ce dernier fait apparaître une 2ème fenêtre Form2.
    Je veux qu'à l’apparition de Form2, le Form1 devient invisible.
    Comment s'y prendre?
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Form1.Visible = False ' Me.Visible = False 
            Dim f As Form2 = New Form2
            f.Show()
    Et à la fermeture de Form2 (dans form2) rendre form1 visible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub form2_FormClosed(sender As System.Object, e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
            Form1.Visible = True
        End Sub
    Mais cela lie les 2 fenêtres. Tu ne peux pas utiliser form2 avec une autre fenêtre.

    _________________________________
    On peut aussi ouvrir form2 en modal (bloquant pour form1 tant que la fenêtre form2 est ouverte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            Form1.Visible = False
            Dim f As Form2 = New Form2
            f.ShowDialog() ' ouvre form2 et attend la fermeture de form2 avant de continuer
            Form1.Visible = True
    Ainsi à la fermeture de form2 le code continu, et rend form1 de nouveau visible.

    _________________________________
    [Edit]
    Afin de compléter un peu le premier cas de figure, pour rendre form2 indépendant, tu peux surcharger son constructeur pour qu'il reçoive une fenêtre en paramètre et rendre la fenêtre appelante visible sur la fermeture de form2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Class Form2
     
        Private _f As Form
     
        Sub New(f As Form)
            InitializeComponent()
            _f = f
        End Sub
     
        Private Sub form2_FormClosed(sender As System.Object, e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
            _f.Visible = True
        End Sub
    tu pourrais même rendre form1 invisible dans le new.

    et dans form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Form1.Visible = False
            Dim f As Form2 = New Form2(Form1)
            f.Show()
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Merci rv26t, mais dès le 1er code je suis coincé (très débutant)
    Je détaille. Voilà ma 1ère fenêtre
    Nom : europe1.JPG
Affichages : 315
Taille : 12,0 Ko
    ma 2ème fenêtre
    Nom : europe2.JPG
Affichages : 306
Taille : 13,6 Ko
    Normalement, avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub BT_Europe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Europe.Click
            Form2.Show()
        End Sub
    Form2 apparaît, mais Form1 reste visible
    mais avec votre 1er code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Private Sub BT_Europe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Europe.Click
            Form1.Visible = False ' Me.Visible = False 
            Dim f As Form2 = New Form2
            f.Show()
        End Sub
    ça donne une erreur
    Nom : erreur.JPG
Affichages : 355
Taille : 14,0 Ko
    Pouvez-vous m'aider? merci

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Le message d'erreur indique d'utiliser Me à la place. Ainsi il utilise l'instance courante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Private Sub BT_Europe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Europe.Click
            Me.Visible = False 
            Dim f As Form2 = New Form2
            f.Show()
        End Sub
    Comment créez-vous Form1 ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre éclairé Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    Août 2013
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : Août 2013
    Messages : 413
    Par défaut
    Il y a toujours erreur (je travaille dans visual 2010)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub BT_Europe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Europe.Click
            Me.Form1.Visible = False ' Me.Visible = False 
            Dim f As Form2 = New Form2
            f.Show()
        End Sub
    Erreur:
    Nom : erreur2.JPG
Affichages : 319
Taille : 13,7 Ko

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Salut stracoma,

    rv26t t'explique depuis le début que lorsque tu souhaites faire référence à "Form1" dans "Form1" qu'il te faille utiliser "Me" :
    Il y a juste à mettre le commentaire à la place et ça fonctionne .... c'est magique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Private Sub BT_Europe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_Europe.Click
            Me.Visible = False Me ' Form1.Visible = False 
            Dim f As Form2 = New Form2
            f.Show()
        End Sub
    A+

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Tiré de MSDN ; Me : Permet de faire référence à l'instance spécifique d'une classe dans laquelle le code est en cours d'exécution.

    Regardez la ligne de code que je vous propose (post4)
    Citation Envoyé par rv26t Voir le message
    Regardez la ligne que vous avez écrit (post5)
    Citation Envoyé par stracoma Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Me.Form1.Visible = False
    Il y a une différence.
    Indice : Wallace1 vous indique aussi le problème.


    Comment créez-vous Form1 ? Pour la suite cela s'avèrera utile.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rendre formulaire invisible
    Par nadia68 dans le forum IHM
    Réponses: 4
    Dernier message: 03/02/2007, 10h42
  2. Rendre visible / invisible plusieurs éléments en même temps
    Par Bluespike62 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/01/2006, 17h43
  3. [FLASH 8] Rendre visible/invisible un bouton sur un clic
    Par PrinceMaster77 dans le forum Flash
    Réponses: 11
    Dernier message: 10/01/2006, 15h08
  4. [VB.NET]Rendre IE invisible
    Par biau dans le forum Windows Forms
    Réponses: 10
    Dernier message: 16/11/2005, 15h52
  5. Réponses: 2
    Dernier message: 06/05/2005, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo