EventHandler dla dynamicznie utworzonych kontrolek

0

Witam.

Mam problem z EventHandler'em

Mój kod:

private void button1_Click(object sender, EventArgs e)
{
    this.lastCreatedPanel++;

    SizeablePanel sp = new SizeablePanel();
    sp.BackColor = Color.Gray;
    sp.Name = "DynamicPanel_" + lastCreatedPanel;
    sp.BorderStyle = BorderStyle.FixedSingle;

    Label label = new Label();
    label.Text = "X";
    label.Location = new Point(1, 1);
    label.MouseDown += new MouseEventHandler(this.Panel_MouseDown);
    label.MouseMove += new MouseEventHandler(this.Panel_MouseMove);

    sp.Controls.Add(label);
}


private void Panel_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left) 
    {
        loc = e.Location;
    }
}

private void Panel_MouseMove(object sender, MouseEventArgs e)
{
    Control ctrl = sender as Control;  
    if (e.Button == MouseButtons.Left)
    {
        ctrl.Left += e.X - loc.X;
        ctrl.Top += e.Y - loc.Y;
        table.Invalidate();
    }
}

Potrzebuję przytrzymać muszką labela i poruszać cały panel.
Antualnie zdarzenie porusza przytrzymywanego labela.

Jak to zrobić ?

Dzięki.

2

spróbuj Control ctrl = (sender as Control).Parent; powinno zadziałać. Jednak nie sprawdza to czy kontrolka w ogóle ma parenta

0

Piwo dla Ciebie.

dzięki !

1 użytkowników online, w tym zalogowanych: 0, gości: 1