none
Utliser Mouseenter et Mouseleave RRS feed

  • Question

  • j'ai crée un panel sur lequel j'ai posé des controle, je veux animer utliser ce panel comme un volet à gauche qui se clape si le souris est dessus et se declape si le souris est loin. j'utilise les evenement mouseenter et mouseleave pou gerer ces action. seulement quand la sousris se positionne sur un controle contenu dans le panel l'evenement mouseleave (de panel se declenche) se qui n'est pas voulu; le panel doit rester ouvert quand le souris est sur un controle contenu dans lui.

    pouvez vous m'aider à trouver une solution comment faire pour que l'evenement mouseleave ne se declenche que quand la souris quitte vraiment le panel et non pas se positionner sur un controle qui y est contenu

    lundi 21 juin 2010 19:27

Réponses

  • Bonjour,

     

    Quand vous interceptez l’évènement MouseLeave, vérifiez si le curseur dépasse les limites du contrôle Panel. Si il ne dépasse pas les limites, ça signifie que l’évènement est lancé quand le curseur passe par-dessus d’un contrôle contenu dans Panel et vous ne devez donc pas exécuter les actions liées a l’évènement :

     

      Private Sub Panel1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Panel1.MouseLeave

            If Me.PointToClient(Cursor.Position).X > Me.Panel1.Left + Me.Panel1.Width Or _

           Me.PointToClient(Cursor.Position).X < Me.Panel1.Left Or _

           Me.PointToClient(Cursor.Position).Y < Me.Panel1.Top Or _

           Me.PointToClient(Cursor.Position).Y > Me.Panel1.Top + Me.Panel1.Height Then

                Label1.Text = "mouse leave"

                in_out = False

            End If

        End Sub

     

        Private Sub Panel1_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Panel1.MouseEnter

            If in_out = False Then

                in_out = True

                Label1.Text = "mouse enter"

            End If

        End Sub

     

     

    Cordialement,

    Alex

    __________________________________________________________________________________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

     

    Astuces pour Visual Studio 2010

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Workflow Foundation

     

     

    Café des usages

     

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

     

     

    • Marqué comme réponse Fekiri mardi 22 juin 2010 17:56
    mardi 22 juin 2010 14:57