J'essaie de changer le curseur qui apparaît sur un ListView standard lorsque le curseur apparaît sur un élément. Cependant, je reçois un effet de scintillement lorsque la souris est changée en curseur de doigt, puis de nouveau à ce que je lui ai demandé d'être.ListView Changement de curseur et scintillement
J'essaie d'isoler ce scintillement/changement au curseur de la main, mais je ne peux pas comprendre où il se produit ou comment l'arrêter. Pour répliquer ceci ...
1) Créez un formulaire avec un ListView dessus. 2) Ajouter une liste d'images et quelques images. Réglez la vue sur le mode icône large. 3) Ajouter des éléments à ListView.
Ajouter un événement MouseMove
au ListView
:
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
ListViewItem selected = this.listView1.GetItemAt(e.X, e.Y);
if (selected == null)
{
base.Cursor = Cursors.Default;
}
else
{
base.Cursor = Cursors.No;
}
}
Execute l'application, en déplaçant la souris sur un élément. Vous devriez voir le curseur clignotant entre le No (pas de curseur d'entrée) et le pointeur du doigt lorsque vous êtes sur un élément. La question est de savoir comment s'assurer qu'il affiche simplement le curseur No et de ne pas scintiller. (C# .NET).
J'ai essayé de surcharger OnMouseMove et OnMouseHover pour revenir à s'assurer que ceux-ci ne définissent rien. J'ai également essayé de surcharger la propriété Cursor et de dire 'only set to default or no cursors' et cela n'a pas fonctionné non plus.
Toute aide est appréciée.
Ian
Cela arrive-t-il ailleurs? Par exemple, lorsque vous naviguez sur des hyperliens ou dans d'autres applications? Ou est-ce * seulement * que cela se produit dans votre application? Si c'est le cas, c'est probablement plus un problème de système d'exploitation ... – Razzie
Il s'agit d'une application multiplateforme. Si vous lisez mon commentaire à teknohippy ... Le problème est exagéré avec le dessin manuel d'éléments et le hottracking. J'ai essayé de remplacer WndProc pour retourner si le (m.Msg == 0x020) pour changer le curseur. Quelque chose change la main, mais je ne sais pas quoi. – Ian
À quoi la propriété Activation de ListView est-elle définie? Si c'est OneClick, le contrôle lui-même changera le curseur en curseur de la main lorsque vous passez la souris sur un élément. – EricLaw