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#]Drag & Drop, problème de position de la souris


Sujet :

Windows Forms

  1. #1
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut [C#]Drag & Drop, problème de position de la souris
    Bonjour,

    J'ai 2 listviews, et je fait du drag & drop entre ces 2 lists.

    Par contre j'ai un ennui au moment de l'évènement de drop, les coordonnées que je reçois par l'intermédiaire du DragEventArgs sont les coordonnées de la souris en coordonnées d'écran.
    Et moi j'ai besoin de savoir sur quelle item de ma liste j'ai droppée mon item sélectionnée.

    La fonction ListView.GetItemAt(); recherche par rapport aux coordonnées clientes...
    De plus ma liste n'est pas aux coordonnées 0;0 de mon formulaire...

    En fait : comment je peux convertir mes coordonnées écran en coordonnées clientes ?

    Mon code :
    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
    24
     
    private void MyListViewSerie_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    		{
    			if( lvS_mdown==false && lvOF_mdown==true)
    			{
     
    				ListViewItem lvi = MyListViewSerie.GetItemAt(e.X, e.Y);
     
    				if(lvi!= null)
    				{
    					MessageBox.Show(lvi.SubItems[0].Text);
    				}
    				else
    				{
    					MessageBox.Show("NOK");
    				}
     
    					// si oui : on checke le code OF, on ajoute un ligne dans le dataSet
    			}
    			lvS_mdown = false;
    			lvOF_mdown = false;
    			lvOF_mmove = false;
    			lvS_mmove = false;
    		}

    Merci pour vos réponses
    May the Troll, be with you
    (Que le troll soit avec toi)

  2. #2
    Membre du Club Avatar de Manralf
    Inscrit en
    Août 2005
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 43
    Points : 48
    Points
    48
    Par défaut
    En fait : comment je peux convertir mes coordonnées écran en coordonnées clientes ?
    Facile ! Tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Point p = MyListViewSerie.PointToClient( new Point( e.X, e.Y ) );

  3. #3
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Génial Manralf, c'est exactement ça !!

    Merci
    May the Troll, be with you
    (Que le troll soit avec toi)

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

Discussions similaires

  1. Problème de position de la souris (Qt et SFML)
    Par Itachi_93 dans le forum Qt
    Réponses: 0
    Dernier message: 29/12/2010, 22h08
  2. [Drag'n'Drop] problème affichage du curseur
    Par julie4207 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/09/2008, 09h12
  3. Réponses: 2
    Dernier message: 05/02/2008, 20h16
  4. drag and drop : problème de plan !
    Par kayser dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 31/03/2005, 13h54

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