Hej,
czy ktoś mógłby mi podpowiedzieć co trzeba zrobić, żeby przeciągane kontrolki(w moim przypadku labele) do kontenera(panela) były w nim centrowane? Podaję fragment kodu dotyczący przeciągania/przesuwania kontrolki- nie wiem jak z poprawnością tego, ponieważ dopiero uczę się , ale działa.
private Point MouseDownLocation;
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
MouseDownLocation = e.Location;
}
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
label1.Left = e.X + label1.Left - MouseDownLocation.X;
label1.Top = e.Y + label1.Top - MouseDownLocation.Y;
}
}
private void panel1_DragDrop(object sender, DragEventArgs e)
{
Control Label = e.Data.GetData(e.Data.GetFormats()[0]) as Control;
if (Label != null)
{
Label.Location = this.panel1.PointToClient(new Point(e.X, e.Y));
this.panel1.Controls.Add(Label);
}
}
private void panel1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}