如何将面板移到许多位置之一

时间:2019-06-28 02:55:49

标签: c# location panel sender

我正在尝试将面板移动到与单击的标签相同的位置,但无法弄清楚。

我已经将它与特定的代码一起使用 “ Stats1.Location = wood.Location;”但是我最多需要做10次,所以我一直在尝试使发件人更具动态感。

private void Wood_Click(object sender, EventArgs e)
        {
            Stats();
        }

void Stats() 
        {
            var X = sender;
            Panel1.Location = X.Location;
        }

我希望它可以像Visual Basic一样工作,并且它将使用“ sender.Location”代替“ wood.Location”,但是它只是说“名称'sender'在当前上下文中不存在”。 / p>

1 个答案:

答案 0 :(得分:0)

与其复制每个标签处理程序的代码(使其称为Stats),只需选择每个Label并将其Click事件指向一个通用处理程序,如下所示:

private void All_Labels_Click(object sender, EventArgs e)
{
        Label lbl = (Label)sender;
        Panel1.Location = lbl.Location;
}

为清楚起见,请在属性窗格中单击闪电图标,找到“单击”条目,然后将右侧的下拉列表更改为“ All_Labels_Click”。