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 :

transférer un évènement


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut transférer un évènement
    Bonjour,

    Voici le contexte :

    Lors d'un doubleclick sur une ligne d'un datagridview, j'affiche un popup avec certains détails et je le ferme lorsque la souris le quitte.
    N.B. : Je l'affiche par rapport à la position de la souris en faisant -10 sur chaque axe comme la souris est bien dedans lors de l'affichage.

    Cela marchait très bien lorsque mon usercontrol était encore vide et que je faisais mes tests (je n'ai pas l'habitude de jouer avec ça alors j'y vais par étape).

    Seulement maintenant qu'il est terminé et que les contrôles nécessaires sont dedans, cela ne marche plus car l'event MouseLeave du usercontrol n'est plus déclenché.

    J'imagine bien que cela est du au fait que j'utilise le docking pour le designer et donc la souris n'est donc plus directement "sur" le usercontrol mais sur les contrôles qui le compose.

    Comment corriger le tir ?

  2. #2
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Bonjour,

    Tu es en quelle techno ?

    D'une manière général va falloir que tu regarde si le focus est sur lui ou un de ses enfants ou un des enfants des enfants (c'est vite le bordel XD).

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je fais du winforms...

    Tu parles du focus mais est-ce vraiment ça ? L'idée était d'afficher ce machin un peu comme une infobulle. Sauf que c'est aussi grand qu'une nouvelle form car y a bcp d'infos à afficher.

    Entre temps, j'ai contourné le problème en tappant mon usercontrol en dock=fill dans une nouvelle form que j'affiche au double click sur la ligne d'un datagridview.

    Bref, c'est contourné et ça tourne mais il n'empêche que j'aimerais savoir comment j'aurais pu réaliser mon idée de base.

    Pour tout dire, le double click est déjà un contournement du mousehover car je ne savais pas comment récupérer, dans un datagridview, la ligne actuellement survolée par la souris.

    Et donc l'idée de base était, lors d'un mousehover d'une ligne d'un datagridview, faire apparaitre un usercontrol affichant des détails supplémentaire concernant la ligne survolée. Faire disparaitre le usercontrol lorsque la souris ne le survole plus.

  4. #4
    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
    Bonsoir,
    si cela peut vous aider pour récupérer les coordonnées des cellules d'un Dgv, parcourues par la souris :
    Un HitTestInfo dans l'événement CellMouseEnter du Dgv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub DataGridView1_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellMouseEnter
            Dim mouse As Point = DataGridView1.PointToClient(MousePosition)
            Dim hitInfo As DataGridView.HitTestInfo = DataGridView1.HitTest(mouse.X, mouse.Y)
            If hitInfo.Type = DataGridViewHitTestType.Cell Then
                clickedCell = DataGridView1.Rows(hitInfo.RowIndex).Cells(hitInfo.ColumnIndex)
                Console.WriteLine(clickedCell.RowIndex.ToString & " '  " & clickedCell.ColumnIndex.ToString)
            End If
        End Sub

  5. #5
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Ah bin déjà une première solution

    J'avais déjà utilisé ce hittest avant en plus mais j'avais complètement oublié que ça existait.

    Merci !

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/02/2009, 11h25
  2. Pas d'événement OnClose quand on arrête W2K
    Par Altau dans le forum C++Builder
    Réponses: 9
    Dernier message: 26/01/2009, 18h36
  3. exploiter un évènement d'un sous composant dans un
    Par bjl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 16h44
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/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