J'ai un userControl (.NET 1.1 Winforms) qui a une imagebox cliquable comme bouton. Comme j'ai beaucoup de ces commandes usb visibles en même temps, j'ai pensé que ça pourrait être sympa si j'affiche simplement la boîte d'image quand la souris est sur la commande userc et la cache autrement. Pour ce faire, je gère les événements MouseEnter et MouseLeave de UserControl, masquant et affichant la zone d'image. Cela fonctionne bien.Le comportement étrange de MouseLeave de .NET UserControl
Mais lorsque la zone de texte cliquable est visible, je ne suis plus en mesure de cliquer dessus (le curseur de la main est parti et l'événement de clic ne se déclenche pas). Après un test, je me rends compte que si je commente tout le contenu du gestionnaire MouseLeave qui fait quelque chose avec ma picturebox ... de cette façon, la zone d'image est cliquable.
Je n'utilise pas l'événement correct?
Il existe une autre façon d'accomplir cela?
Voici le code ...
Private Sub NodoEstablo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.pictAdd.Visible = False
End Sub
Private Sub NodoEstablo_MouseEnters(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseEnter
Me.pictAdd.Visible = True
End Sub
Le gestionnaire d'événements problématique:
Private Sub NodoEstablo_MouseLeaves(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseLeave
Me.pictAdd.Visible = False
End Sub
Mise à jour: Si je redimensionnez la picturebox sur MouseLeave (juste pour faire quelque chose) cela fonctionne. Jusqu'ici, en changeant Visible et Lieu dans le MouseLeave m'empêche de cliquer sur la zone d'image. : S
Je soupçonnait que quelque chose comme ça où se passe, alors je fais la logique à l'intérieur d'une minuterie Hidding ... démarrer le chronomètre lorsque la souris part et l'arrête après avoir caché le bouton. Maintenant, je peux me débarrasser de la minuterie ... Merci beaucoup. – Romias