Position de la souris

dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 - 11 sept. 2008 à 09:36
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 - 13 sept. 2008 à 07:34
Bonjour,

J'ai une listbox que je voudrais redimensionner lorsque la souris passe dessus. Là je n'ai pas de problème.

   Private Sub ListBox2_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox2.MouseHover
        ListBox2.Width = 400
    End Sub

Mon problème est pour lui redonner sa taille initiale lorsque la souris n'est plus sur la listbox. Pour info, il y a un webbrowser à côté qui n'a pas des évènements Mouse permettant prendre en compte que la souris n'est plus sur la listbox.

J'ai pensé à mentionner que de telle position à telle position de la souris, la listbox doit avoir telle taille. Comment trouver la position de la souris dans la fenêtre sachant qu'il y a plusieurs composants à l'intérieur (je ne sais si cela à un impact) et en fonction de la position appliquer la règle ?

Merci d'avance pour votre aide

5 réponses

cs_baloc Messages postés 56 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 29 octobre 2010
11 sept. 2008 à 09:47
bonjour,

t'as essayé de réaliser une incrémentation d'un nombre i. a chaque fois que listbox détect le passage de souris il l'incrémente. avec un condition ensuite. impaire redimentionnement, pair retour normal.

qui m'aime me suive...quoi personne...><
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
11 sept. 2008 à 10:34
Bonjour,

Si tu a "MouseHover" tu n'a pas un truc du genre MouseOut (je n'ai jamais utiliser ces events) ?

http://nhen0039.chez-alice.fr/index.php
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 sept. 2008 à 11:45
Dim

col


As

Color



Private





Sub

ListBox1_MouseEnter(


ByVal

sender


As





Object

,


ByVal

e


As

System.EventArgs)


Handles

ListBox1.MouseEntercol = ListBox1.BackColor

ListBox1.BackColor = Color.AliceBlue



End





Sub








Private





Sub

ListBox1_MouseLeave(


ByVal

sender


As





Object

,


ByVal

e


As

System.EventArgs)


Handles

ListBox1.MouseLeaveListBox1.BackColor = col



End





Sub













Bonjour chez vous !
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
11 sept. 2008 à 17:53
Salut,

Comme le montre gillardg, utilise MouseEnter au lieu de
MouseOver pour savoir lorsque le curseur entre dans la zone du contrôle. Et MouseLeave pour détecter lorsque le curseur sort.

Sinon, tu peux toujours connaitre la position du curseur avec Cursor.Position
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 2
13 sept. 2008 à 07:34
Merci gillardg et Kevin.Ory pour l'astuce. Cela marche et même trop bien. Lorsque la souris est au dessus de la listbox, elle s'agrandit comme souhaité et lorsque la soris n'est plus dessus, elle reprend la taille  initilae. Le soucis est que la verticalscrollbar n'est pas considérée comme faisant parti de la listbox. Dès que la souris arrive sur la verticalscrollbar, la listbox reprend sa taille initiale.

Je vais essayer l'option Cursor.Position
0
Rejoignez-nous