Question

en utilisant cet événement l'étiquette disparaît, comment dois-je faire cela?

    private void label4_MouseMove(object sender, MouseEventArgs e)
    {
        label4.Location = new Point(Cursor.Position.X, Cursor.Position.Y);
    }
Était-ce utile?

La solution

L'emplacement de label4 est relatif au conteneur ( Form ou au contrôle parent). La position du curseur peut être relative à l'écran.

Vous devez ajuster l'emplacement. Par exemple, si le conteneur est le Form , vous pouvez trouver son emplacement à l’écran et calculer l’emplacement du curseur par rapport à l’écran.

Ceci n’est qu’une possibilité pour la cause, mais celle-ci se produit souvent:)

Autres conseils

handle these three event ...
Control actcontrol;
 Point   preloc;
 void label1_Mousedown(object sender, MouseEventArgs e)
        {

            actcontrol = sender as Control;
            preloc = e.Location;
            Cursor = Cursors.Default;


        }
        void label1_MouseMove(object sender, MouseEventArgs e)
        {
            if (actcontrol == null || actcontrol != sender)
                return;
            var location = actcontrol.Location;
            location.Offset(e.Location.X - preloc.X, e.Location.Y - preloc.Y);            
            actcontrol.Location = location;

        }
        void label1_MouseUp(object sender, MouseEventArgs e)
        {
            actcontrol = null;
            Cursor = Cursors.Default;

        }

Utilisez la fonction PointToClient () du formulaire pour traduire les coordonnées X / Y de la souris en points relatifs à votre formulaire, qui devrait le faire.

Éditer: utilisez plutôt les propriétés de l'objet args de l'événement mouse:

Label1.Location = New Point(e.X, e.Y)

PS pardonne le VB, pas de C # sur ce PC

L'emplacement d'un élément est relatif à son parent. Dans ce cas, vous utilisez la position absolue de la souris comme emplacement.

Vous devrez traduire la position de la souris dans le système de coordonnées de l'élément parent.

Utilisez le PointToClient sur l'élément parent de l'étiquette.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top