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 :

problème avec l'evenement LOSTFOCUS


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Par défaut problème avec l'evenement LOSTFOCUS
    salut

    j'ai crée une fonction liée à un textbox, qui s'exécute avec l'événement LOSTFOCUS

    cette fenetre affiche un msgbox.

    le prob c'est que ce msg s'affiche même lorsque je ferme la forme , ce qui me dérange.

    pouvez vous m'aider à résoudre ce problème??

    Merci d'avance

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    On peut désactiver l'event Lostfocus du TextBox (ou la fonction qui affiche le msgbox) sur l'event OnClosing de la form.

    Cela suppose que LostFocus se passe après OnClosing ce qui n'est pas sur.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Par défaut
    salut

    je pense que l'idée est présente dans ce que tu dis, mais comment la réaliser??

    Merci

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Personnellement, j'aurais plutôt tendance à dire que le LostFocus s'effectue Avant le FormClosing, et ce pour une raison simple ; le FormClosing est un évènement du Form donc celui-ci doit préalablement avoir le Focus et par conséquent déclenchera le LostFocus du contrôle précédemment "focusé".
    Après j'ai pas vérifié donc à tester

    Cordialement !

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour tester :
    • Créer l"'event OnClosing de la form,
    • mettre 2 points d'arrets en debug : un point d'arret sur l'event LostFocus() un sur FormClosing(),
    • voir ainsi quel event est activé le premier quand on ferme la form.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    il semble qu'on aie :
    LostFocus() puis FormClosing() puis LostFocus()
    Une solution de contournement pourrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        Dim traiteLaFonction As Boolean = True
     
        Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
            perdfocus()
            'MessageBox.Show("TextBox1.LostFocus")
     
        End Sub
     
        Function perdfocus() As String
            Dim voir As String = TextBox1.Text
            If traiteLaFonction = True Then
                MessageBox.Show(TextBox1.Text)
                Return voir
            Else
                Return Nothing
            End If
     
        End Function
     
        Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
            traiteLaFonction = False
            'MessageBox.Show("Me.FormClosed")
        End Sub

Discussions similaires

  1. Problème avec traitement des evenements bouton
    Par ramon.dekker dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/09/2008, 09h13
  2. Problème avec l'evenement "sur clic"
    Par edonist dans le forum IHM
    Réponses: 1
    Dernier message: 10/07/2008, 21h43
  3. comboBox problème avec l'evenement click
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/04/2008, 17h01
  4. Réponses: 0
    Dernier message: 09/11/2007, 22h06
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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