Domanda

utilizzando questo evento l'etichetta scompare, come devo fare?

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

Soluzione

La posizione di label4 è relativa al contenitore ( Form o controllo principale), la posizione del cursore potrebbe essere relativa allo schermo.

Devi regolare la posizione. Ad esempio, se il contenitore è il Modulo puoi trovare la sua posizione nella schermata e calcolare da essa la posizione del cursore relativa alla schermata.

Questa è solo una possibilità per la causa, ma questa succede molto :)

Altri suggerimenti

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;

        }

Usa la funzione PointToClient () del modulo per tradurre le coordinate X / Y del mouse in punti relativi al tuo modulo, che dovrebbero farlo.

Modifica: utilizzare invece le proprietà dell'oggetto args dell'evento mouse:

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

PS scusa il VB, nessun C # su questo PC

La posizione di un elemento è relativa al suo genitore. In questo caso però stai usando la posizione assoluta del mouse come posizione.

Dovrai tradurre la posizione del mouse nel sistema di coordinate dell'elemento genitore.

Utilizza PointToClient sull'elemento padre dell'etichetta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top