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 :

Comment transformer le click sur la croix de fermeture d'une form


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
    Décembre 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 77
    Par défaut Comment transformer le click sur la croix de fermeture d'une form
    Bonjour

    Lorsque l'utilisateur de mon appli clique sur sur la croix de fermeture d'une form, j'utilise le code suivant pour capturer l'évènement, effectuer quelques modification de la form puis la masquer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Form_Cancel(ByVal sender As System.Object, _
    ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles MyBase.FormClosing
     
     e.Cancel = True
    '
    'Quelques modifications de la form
    '
    Me.Hide
     
    End Sub
    Le problème est que je dois aussi masquer cette form avec un bouton Ok : Me.Hide

    Je constate que la Sub Form_Cancel se déclenche aussi lors du click sur OK.

    Comment faire autrement ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Le bouton OK n'aurai pas un DialogResult différent de None (cf propriétés) ?

    Sinon, vu que je suis pas sur de ton message, si tu interceptes la fermeture tu peut appeler dans OK la fonction this.Close(); ...

    Enfin, si c'est ni l'un ni l'autre, j'ai pas compris ce que tu veux

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 77
    Par défaut
    Non, pas de problèmes avec le dialogresult du bouton OK.

    En fait, je ne comprends pas pourquoi un hide sur la form déclenche aussi la Sub Form_cancel précédemment citée (qui intercepte la fermeture par un click sur la croix).

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Ah ...

    Bah là il y a un problème, chez moi ça ne le fais pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void button1_Click(object sender, EventArgs e)
            {
                Hide();
            }
     
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
            }
    FormClosing n'est pas appelé via le button ...
    Par contre, pour tu as un CancelEventArgs pour FormClosing ? ça devrais être un FormClosingEventArgs ... regarde ici :
    http://msdn.microsoft.com/fr-fr/libr...rmclosing.aspx

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 77
    Par défaut
    Merci pour la proposition.

    Nouveau test avec le code proposé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Cancel(ByVal sender As System.Object, _
    ByVal e As FormClosingEventArgs) _
    Handles Me.FormClosing
            e.Cancel = True
    End Sub
    Résultat : Pareil.
    Un Hide sur la form déclenche de nouveau la sub (plusieurs essais).

    Je pige pas.

    Autre proposition ?

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    J'arrive pas à reproduire ...
    Tu as quelle version du .NET ? Tu programmes avec quel version ds VS ?
    Est-ce que tu as modifié certaines propriétés de ta form ? rajouté des styles ?
    Qu'est-ce que tu fais de spécial sur ta form ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/05/2010, 15h52
  2. Supprimer la croix de fermeture dans une Form
    Par lio33 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/07/2008, 16h04
  3. Réponses: 19
    Dernier message: 15/05/2006, 16h50
  4. Réponses: 4
    Dernier message: 25/07/2005, 14h24

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