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
Partager