使用ArrayList添加/删除按钮到面板c#
问题描述:
所以我想要的是将字符串添加到我的ArrayList中,然后将其显示在面板中作为按钮,如果单击它然后将其从数组和面板中删除。使用ArrayList添加/删除按钮到面板c#
所以我有什么是
添加按钮:
if (!tags.Contains(tag.Text)) {
tags.Add(tag.Text);
organizeTags(tags);
}
else {
MessageBox.Show("Ese tag ya está registrado", "Error: ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
label10.Text = tags.Count.ToString();
删除按钮:
private void Button_Click(object sender, EventArgs e)
{
Button button = new Button();
button = (Button)sender;
tags.Remove(button.Name);
organizeTags(tags);
}
而且organizeTags功能:
private void organizaTags(ArrayList tags)
{
panel1.Controls.Clear();
ArrayList botones = new ArrayList();
int j = 0, i = 0;
foreach (string element in tags) {
Button button = new Button();
button.Name = textBox6.Text;
button.Text = textBox6.Text;
button.Width = 100;
button.Left = i * 100;
button.Top = j * 30;
button.Click += new EventHandler(Button_Click);
panel1.Controls.Add(button);
i++;
if (i == 6)
{
j++;
i = 0;
}
}
}
但它的工作原理可怕,它cr eates 2个按钮具有相同的名称,那么它只会删除第一个按钮,我不知道如何解决它。
答
变化:
button.Name = textBox6.Text;
button.Text = textBox6.Text;
要:
button.Name = element;
button.Text = element;
+0
谢谢,它的工作! – Fran
见我在下面张贴的答案:https://stackoverflow.com/questions/37165402/c-sharp-adding-button-with-在运行时的值 – jdweng
尝试在代码中放置断点,然后在调试器中逐步完成。准确了解每条线的功能。检查每个变量的值。 –