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

Windows Forms Discussion :

[C#] Detecter la perte de focus


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut [C#] Detecter la perte de focus
    Bonjour,

    je code en C# sous VS.net.
    J'ai une listview quand on selectionne une ligne sa active un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    button2.Enabled = true ;  
    }
    J'aimerais que quand aucune ligne ne soit selectioné dans la listview que le bouton soit desactivé ( par exemple cette lisview contient des adresse que quand toutes les adresse soit suprimés et qu'on reclique sur le bouton ( button2 ) sa ne genere pas une erreur
    Comment faire ?

    merci

  2. #2
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Salut,

    Bien si aucune ligne du ListView est activée, c'est que le ListView n'a pas
    le Focus, non ?!

    Dans ce cas tu peut te servir de l'évènement Focus du ListView
    avec la fonction Leave :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void listView1_Leave(object sender, EventArgs e)
            {
                button2.Enabled = false;
            }
    Si c'est ce que tu cherches

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2004
    Messages : 145
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void listView1_GotFocus(object sender, System.EventArgs e)
    {
    button2.Enabled = true ; 
    } 
    private void listView1_LostFocus(object sender, System.EventArgs e)
    {
    button2.Enabled = false; 
    }

  4. #4
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    Si un listview perd le focus, ça ne veut pas dire qu'il n'y a pas de lignes sélectionnées dedans !!!

    Tu dois tester à chaque click dans ta listview s'il y a des lignes sélectionnées ou non, et griser/activer le bouton en fonction.

    @+

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Citation Envoyé par zitoun
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void listView1_GotFocus(object sender, System.EventArgs e)
    {
    button2.Enabled = true ; 
    } 
    private void listView1_LostFocus(object sender, System.EventArgs e)
    {
    button2.Enabled = false; 
    }
    Sa marche pas

    Je reformule : j'aimerais que le bouton soit desactivé quand aucune ligne n'est selectioné dans la listview

  6. #6
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Bien déjà c'est pas "Lost Focus" mais bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void listView1_Leave(object sender, EventArgs e) 
            { 
                button2.Enabled = false; 
            }
    Quand le listview perd le focus !
    Ou alors ça dépend du logiciel, framework...

    Je pense qu'il faut appliquer la méthode à SLE

  7. #7
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    tres simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
            Button1.Enabled = ListView1.SelectedItems.Count > 0
        End Sub

  8. #8
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    C'est pas du VB ça ?!
    ça marche en C# le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button1.Enabled = ListView1.SelectedItems.Count > 0
    ?!

  9. #9
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    As-tu testé ?
    la propriété Enabled est de type booléen
    (ListView1.SelectedItems.Count > 0) est une expression Booléenne qui renvoie vrai si il y a au moins un élément sélectionné, Faux sinon.
    tu n'as plus qu'a traduire l'affectation = de VB en C# !..

  10. #10
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Merci de tous vos codes je vais les testés et je vous tient informé

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    C'est bon sa marche
    merci à tous topic resolu

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

Discussions similaires

  1. [JTabbedPane] et perte de focus
    Par Ofunk dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 17/03/2006, 13h22
  2. Réponses: 9
    Dernier message: 02/02/2006, 16h46
  3. Comment détecter la perte de focus d'une fenêtre
    Par Leviathan_72 dans le forum Windows
    Réponses: 5
    Dernier message: 31/12/2005, 01h22
  4. excel -> test lors de la perte du focus d'une cellule
    Par greg778 dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 26/09/2005, 18h26
  5. [VB.NET] Perte de focus entre deux form
    Par toniolol dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/07/2005, 09h00

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