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 :

Fermeture formulaire impossible


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 98
    Par défaut Fermeture formulaire impossible
    Bonjour,

    Je vous présente mon problème, j'ai 2 formulaires dont un est de type boite de dialogue, je l'utilise comme formulaire de démarrage et une fois le choix de l'utilisateur fais il clique sur ok, je met ca dans l'évènement du clique sur ok :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form1.Show()
    Me.Close()
    Tout simplement, ca ferme la boite de dialogue et ouvre la form principale jusque la ca va.

    Pour ne pas demander à l'utilisateur de choisir a chaque lancement je vérifie une clé registre et si elle est bonne j'introduis ce même code dans le if SAUF QUE ca ne fonctionne pas ! J'ai droit à cette magnifique erreur au lancement du programme :

    Impossible d'accéder à un objet supprimé.
    Nom de l'objet : 'ChooseVersion'.
    ChooseVersion étant le boite de dialogue de départ que je souhaite fermer.

    Ah et je précise que cette vérification se fait dans l'évènement Load de la boite de dialogue.

    (P.S: je suis sous visual studio 2010)


    Merci d'avance pour votre aide, cordialement,

    AliHome

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 98
    Par défaut
    Bon apparemment j'ai trouvé d'où venait le problème, de la valeur TopMost de la boite de dialogue mise sur True ! Je ne saurais pas dire pourquoi cela faisais ca mais bon on peut considérer le problème comme résolu.

    Si quelqu'un trouve une solution au problème en pouvant garder le TopMost sur true merci de me la faire parvenir !

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    une fenêtre modale n'a pas besoin du topmost...

    elle est ouverte en haut de tout, du moins sur le process courant.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 98
    Par défaut
    Oui à l'ouverture elle est bien placée au dessus du reste sauf que je me servais du topmost pour qu'elle RESTE obligatoirement au dessus des autres formulaires même si on perd le focus ! Aurais je mal compris quelque chose ?

    Ah petit souci, si je ferme cette form avec Close() et qu'ensuite je tente de la rouvrir avec Show() ca ne fonctionne pas, j'ai donc utilisé Hide() et ca a fonctionné un moment et maintenant non (code un peu confus pour le moment j'ai du mal à trouver l'origine), donc si quelqu'un serait assez aimable pour bien vouloir m'expliquer le fonctionnement des fermetures et ouvertures de formulaire (hide show showdialog close etc) ?

  5. #5
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Une fenêtre de type modale n'a effectivement pas besoin du TopMost, elle "popera" par-dessus les autres fenêtres, et également ne pourra donner le focus à une autre fenêtre (de l'application, car vous pouvez toujours utiliser le ALT+Tab pour naviguer sur les autres programmes ouverts) que quand cette dernière sera fermée.

    Ensuite un peu de code apporterait sans doute plus de clairvoyance.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 98
    Par défaut
    Merci pour l'explication je comprend mieux.

    Voici la partie du code concernée (la boite de dialogue de départ)
    :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ChooseVersion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            If Not String.IsNullOrEmpty(GetKeyValue(RegistryPath, "VS_Version")) Then
    [...]
                Form1.Show()
                Me.Hide()
            End If
        End Sub

    Donc le problème est que si je met Me.Hide() la boite de dialogue de départ est toujours la par dessus la form1 (comme si je n'avais rien mis) et si je met Me.Close() elle se ferme bien mais en voulant la rouvrir par un bouton sur la form1, avec ChooseVersion.Show() et bien elle ne s'ouvre pas (elle s'ouvre si j'ai mis Me.Hide() ) !

    Une idée de mon erreur ?


    Edit: Un peu idiot de ma part, évidemment elle se referme juste après s'être ouverte en cliquant sur le bouton car j'ai mis Me.Close dans le Load et qu'il rentre dans le if... Sacré moi

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

Discussions similaires

  1. Fermeture de formulaire impossible
    Par julio02200 dans le forum IHM
    Réponses: 11
    Dernier message: 21/07/2006, 15h22
  2. [VB.NET]hide,close,end. fermeture formulaires
    Par mAAL dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2006, 10h03
  3. Réponses: 3
    Dernier message: 15/12/2005, 09h44
  4. [HTML][PHP] Formulaire impossible de récupérer les variables
    Par Pfeffer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/11/2005, 16h08
  5. Boucle attente fermeture formulaire ????
    Par smicky77 dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2005, 20h30

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