【发布时间】:2016-06-25 12:10:01
【问题描述】:
我有按钮数组和标签数组:
Label[] labels = new Label[10];
Button[] but = new Button[10];
在单击另一个按钮时,我想从数组中动态创建新按钮和新标签,我还希望 but[i] 更改标签[i] 的纹理:
private void button1_Click(object sender, EventArgs e)
{
labels[i] = new Label();
labels[i].Location = new System.Drawing.Point(0, 15+a);
labels[i].Parent = panel1;
labels[i].Text = "Sample text";
labels[i].Size = new System.Drawing.Size(155, 51);
labels[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
a = labels[i].Height + labels[i].Top;
but[i] = new Button();
but[i].Text = "-";
but[i].Location = new System.Drawing.Point(0, labels[i].Height + labels[i].Top);
but[i].Parent = panel1;
but[i].Size = new System.Drawing.Size(155, 10);
but[i].Click += new System.EventHandler(but_Click);
i++;
}
private void but[i]_Click(object sender, EventArgs e)
{
labels[i].Text = "Changed Text";
}
但是显然我不能在事件处理程序中放置一个数组,那我应该怎么做呢?
【问题讨论】:
-
哇真的太棒了“但是[i]_Click”甚至不会想到这样的事情。然而,至少在 c# 中这是不可能的。正题,你用的是WPF还是WinForms?
-
只有
how to fire events dynamicly吗?
标签: c# arrays visual-studio events button