Probléme de drag and drop avec deux listview [Résolu]

cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 01:25 - Dernière réponse : cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention
- 5 août 2006 à 01:04
Salut,
voici :
un probléme tres simple, mais que je n'arrive pas à résoudre
J'ai deux listview
lors d'un drag and drop
il me propose de mettre l'item dans un item de la listeview , mais pas a coté ("icone d'interdiction")
j'ai reperé le probléme au niveau de  l'evenement : DragOver, que j'utilise pour mettre en surbrillance l'objet survoler pendant le drag

En fait je vroudrais pouvoir droper mon item dans la listview où je veut , c'est à dire à la racine ou dans un item.

en Fait des que j'utilise la fonction GetItmAt , cela m'interdit de droper a cotes d'un item.

voila le bout de code que j'utilise pour mettre en surbrillance.
Il doit me manquer quelque chose non ?

Merci  d'avance , pour vos réponse

a+

Private
Sub ListViewEspaceTravail_DragOver(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.DragEventArgs)
Handles ListViewEspaceTravail.DragOver
Dim liste
As ListView

liste = ListViewEspaceTravail  ' etant la listeview qui recois

Dim pt
As Point = liste.PointToClient(
New Point(e.X, e.Y))

'ici on supprime la surbrillance du precedent et on met le nouveau en surbrillance

If liste.GetItemAt(pt.X, pt.Y).BackColor <> SystemColors.Highlight
ThenResetListeViewItemsColor(liste.Items(ItemPrc))

liste.GetItemAt(pt.X, pt.Y).BackColor = SystemColors.Highlight

liste.GetItemAt(pt.X, pt.Y).ForeColor = SystemColors.HighlightText

ItemPrc = liste.GetItemAt(pt.X, pt.Y).Index

ItemDrope = liste.GetItemAt(pt.X, pt.Y).Text

End
If

 
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 5 août 2006 à 01:04
3
Merci
Enfin trouver la soluce toute bete


Il fallais inserer un



if liste.GetItemAt(pt.X, pt.Y) is nothing then exit sub

merci  fregolo52 pour le debut de soluce
A+

Merci cs_ultimafight 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de cs_ultimafight
fregolo52 1108 Messages postés mercredi 15 juin 2011Date d'inscription 10 juillet 2018 Dernière intervention - 4 août 2006 à 10:04
0
Merci
Salut,

J'ai déjà utilisé les lisrview et comme toi j'ai bien galéré.

Peux-tu m'en dire plus.

Es-tu en mode icône ? Si oui, que se passe-t-il quand tu drop ? ton item se met en fin de liste ?

J'ai remarqué qu'il y a des pb en mode icone à qu'un mode texte (liste ou détail) ça marche bien.
Commenter la réponse de fregolo52
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 11:12
0
Merci
Bonjour,
j'utilise le mode icone+text


Le probléme est que je ne peut pas ajouter des items à la racine de la listeview
si j'utilise la fonction GetItemAt


En fait je voudrais faire comme dans l'explorateur de fichier :
Pouvoir ajouter un item à la racine ou dans un item. (les deux ensembles ne fonctinnent pas)
Thx
Commenter la réponse de cs_ultimafight
fregolo52 1108 Messages postés mercredi 15 juin 2011Date d'inscription 10 juillet 2018 Dernière intervention - 4 août 2006 à 11:17
0
Merci
Je t'avoue que je suis perdu.
Tu me parles de racine, je vois ce que c'est dans une TreeView, mais dans une ListView, je vois pas.
Tu as un controle de type TreeListView ?
Commenter la réponse de fregolo52
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 11:18
0
Merci
re :
j'ai la signe de souris (\) quand je suis a cotes des items
Commenter la réponse de cs_ultimafight
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 11:19
0
Merci
re non
En fait la listeview fonctionne comme un explorateur de fichier, mais avec des objets
je parle de racine, quand on est dans un emplacement sans Items
Commenter la réponse de cs_ultimafight
fregolo52 1108 Messages postés mercredi 15 juin 2011Date d'inscription 10 juillet 2018 Dernière intervention - 4 août 2006 à 11:59
0
Merci
Je sèche un peu, désolé.

Mais dans le code que tu fournis, fait attention GetItemAt retour null si tu n'es pas sur un item.
Je ne sais pas où sont les try catch mais moi je ferais :

monItem = liste.GetItemAt(pt.X, pt.Y)
if nomItem <> Nothing then

  If nomItem.BackColor <> SystemColors.Highlight
Then
...

Fais pas attention à la syntaxe, j'ai plus l'habitude du C.
Commenter la réponse de fregolo52
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 16:40
0
Merci
Probléme inverse avec cette solution
Je ne peut pas droper sur un item symbole (\)
Commenter la réponse de cs_ultimafight
cs_ultimafight 22 Messages postés jeudi 7 octobre 2004Date d'inscription 4 août 2006 Dernière intervention - 4 août 2006 à 16:45
0
Merci
En fait je pense que c'est fonction GetItemAt dans un listeview qui ne permet pas a la fois de droper sur un item ou à cotes.
Y a t'il une autre solution ? genre api sendmessage ?
Commenter la réponse de cs_ultimafight

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.