J'ai un formulaire où je veux des boutons tout en bas du formulaire, sans aucun écart par rapport à la bordure. Ces boutons doivent être "masquer automatiquement", de sorte qu'ils ne s'affichent que lorsque la souris se trouve par exemple dans les 20 pixels inférieurs du formulaire. Donc, j'utilise l'événement MouseMove pour déclencher cela, comme le code ci-dessous. Cependant, si la souris quitte la forme sur le bord inférieur, là où se trouvent les boutons, alors les boutons resteront évidemment. Mais je veux qu'ils se cachent. J'ai donc besoin à cet effet de cacher les boutons par un autre événement. Par conséquent, j'essaie de les cacher dans l'événement MouseLeave du formulaire. Mais cela rend les boutons invisibles et dans un état erratique, clignotant lorsque la souris passe sur le bouton .. Pourquoi est-ce? Et comment puis-je éviter ce problème pour obtenir une telle fonction d'autohide?Le bouton ne se cache pas lorsque la souris quitte le fond
Private Sub ZgScale_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If e.Y > Me.ClientSize.Height - 30 Then
Button1.Visible = True
Else
Button1.Visible = False
End If
End Sub
Private Sub ZgScale_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseLeave
Button1.Visible = False
End Sub
hmm .. mais où mettre ce code? – bretddog
@bretddog: Essayez-le maintenant. J'ai également vérifié par erreur le cadre de la fenêtre. – SLaks
Merci .. Je pense que le problème est que l'événement MouseMove ne se déclenche pas lorsque la souris quitte le formulaire .. Alors, où puis-je mettre votre code? – bretddog