好的,所以我试图在表单上移动按钮。我使用以下代码来调用按钮:
i++;
Button button = new Button();
button.Location = new Point(160, 30 * i + 10);
button.Click += new EventHandler(b_Click);
button.Tag = i;
panel1.Controls.Add(button);
我可以点击每个按钮并显示一个消息框,显示他们的标签,但我想用他们的标签作为一种方法,用计时器移动按钮。
答案 0 :(得分:0)
假设这是WinForms,您可以在Form Controls集合上使用Linq查询来按标签查找按钮。
var found = (from Control c
in this.Controls
where c.Tag == "ButtonTag"
select c).FirstOrDefault() as Button;
if (found != null)
{
// manipulate the button
}
我应该注意,这只会在表单上找到顶级控件。它找不到容器控件内部的按钮(如面板)。如果您的按钮位于容器中,只需将“this”替换为容器名称即可。
var found = (from Control c
in panel1.Controls
where c.Tag == "ButtonTag"
select c).FirstOrDefault() as Button;
我还应该注意,在具有大量控件的表单上,这可能会很慢。