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 :

Datagridview événement CellMouseClick


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
    Juin 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 71
    Par défaut Datagridview événement CellMouseClick
    Bonjour,

    aprés bien des recherches, tests, lectures diverses je n'ai toujours pas trouvé de solution à ce problème! Si vous connaissez un tutoriel pertinent, une piste, un exemple, merci de votre aide.

    J'ai un datagridview dont chaque nouvelle saisie de. l'utilisateur est analysée à la levée de l'événement CellMouseClick (Private Sub liste_portefeuille_CellMouseClick).

    Je souhaite pouvoir, par programmation (sans clic souris de l'utilisateur), générer cet événement pour l'activer.


    Merci de vos contributions

  2. #2
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Tu as l'event CellValidated pour tester la saisie de l'utilisateur.

    Et un event n'est qu'une sub qui est à l'écoute, tu peux la lancer toi-même de n'importe où.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_portefeuille_CellMouseClick()

    Après pour la logique le mieux serait de voir s'il y a une autre manière de procéder.

    Par ex remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub liste_portefeuille_CellMouseClick(sender,e) handles datagridview.cellmouseclick
     
    ''' ton traitement
     
    end sub
     
    private sub test()
    liste_portefeuille_cellMouseClick()
    end sub

    Par :

    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
    Private Sub liste_portefeuille_CellMouseClick(sender,e) handles datagridview.cellmouseclick
     
    MonTraitement()
     
    end sub
     
    Private Sub MonTraitement()
     
    ''' ton traitement
     
    End Sub
     
    private sub test()
     
    MonTraitement()
     
    end sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 71
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Tu as l'event CellValidated pour tester la saisie de l'utilisateur.

    Et un event n'est qu'une sub qui est à l'écoute, tu peux la lancer toi-même de n'importe où.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste_portefeuille_CellMouseClick()

    Après pour la logique le mieux serait de voir s'il y a une autre manière de procéder.

    Par ex remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub liste_portefeuille_CellMouseClick(sender,e) handles datagridview.cellmouseclick
     
    ''' ton traitement
     
    end sub
     
    private sub test()
    liste_portefeuille_cellMouseClick()
    end sub

    Par :

    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
    Private Sub liste_portefeuille_CellMouseClick(sender,e) handles datagridview.cellmouseclick
     
    MonTraitement()
     
    end sub
     
    Private Sub MonTraitement()
     
    ''' ton traitement
     
    End Sub
     
    private sub test()
     
    MonTraitement()
     
    end sub
    Effectivement, comme l'oeuf de Collon!
    D' abord merci de ta réponse, puis quelques précisions:

    l'appel à la subroutine gérant l'événement doit renseigner l'objet sender As System.Object et e As System.EventArgs qui sont les paramétres transmis lors du Handles NON?
    Comment ces données sont elles définies, renseignées?

    Enfin pour revenir sur ta suggestion sur l'organisation du code, tout à fait d'accord mais si je le pouvais j'aimerai ne pas reorganiser cette partie du code et terminer ma compréhension de cet événement.

    A+ et merci

  4. #4
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Citation Envoyé par ernie74 Voir le message
    Effectivement, comme l'oeuf de Collon!
    D' abord merci de ta réponse, puis quelques précisions:

    l'appel à la subroutine gérant l'événement doit renseigner l'objet sender As System.Object et e As System.EventArgs qui sont les paramétres transmis lors du Handles NON?
    Comment ces données sont elles définies, renseignées?

    Enfin pour revenir sur ta suggestion sur l'organisation du code, tout à fait d'accord mais si je le pouvais j'aimerai ne pas reorganiser cette partie du code et terminer ma compréhension de cet événement.

    A+ et merci
    C'est toi qui voit pour la réorganisation du code.

    Le sender est -en général- l'objet qui envoi l'event. Par exemple un Click sur un bouton, dans l'event click, le sender est le button. Tu peux tester par toi-même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
            MsgBox(CType(sender, Button).Name) 'Renvoit "Button1"
        End Sub
    Et le e as EventArgs, est comme son nom l'indique, les arguments de l'evenements.
    Après selon l'event tu peux le Ctyper pour accéder à d'autres propriétés.
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click
            MsgBox(CType(e, MouseEventArgs).Location.ToString) 'Retourne les coordonées de la souris au moment du clic
        End Sub
    Dans ton cas, à toi de voir ce que tu passes en paramètre, tu peux décider de passer une celulle voulue dans le sender, ou bien nothing, et l'eventargs, tu peux passer nothing aussi. (Si un jour tu seras amené à créer tes propres events, tu verras toutes les possibilités qui sont offertes avec les arguments d'évenements )

    Bref, ça dépend de tes besoins !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            'Les 3 fonctionnent
            Button1_Click(Button1, Nothing)
            Button1_Click(Button1, New System.EventArgs)
            Button1_Click(Nothing, Nothing)
     
        End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 71
    Par défaut terminé, merci
    Voilà,

    Grâce à tes explications, j'ai pigé et réussi la mise en oeuvre, SIMPLE

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

Discussions similaires

  1. Problème d'événements DataGridView.SelectionChanged
    Par StringBuilder dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/02/2012, 18h29
  2. Supprimer un évènement sur la dernière colonne (datagridview)
    Par jacko842 dans le forum Développement Windows
    Réponses: 1
    Dernier message: 09/02/2012, 16h24
  3. Problème avec le datagridview (évènements)
    Par jacko842 dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/05/2010, 19h47
  4. Réponses: 1
    Dernier message: 23/07/2009, 10h38
  5. DataGridView et évènement
    Par OLman135 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/08/2008, 14h47

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