c# 使用动态工具

c# using dynamic tools

在 C# 窗体应用程序中,当我单击按钮时,我创建了一个列表框。 然后我将 Item 从 TextBox

添加到 ListBox

当我点击按钮时,如果列表框不存在,我希望创建它。

因此,当将 ListBox 创建代码分配给 if 块时,将 textBox 中的数据分配给 listBox 的代码失败。 我该如何解决这个问题?

if (araclar_eklendi == false)
{
ListBox listB_X = new ListBox();
listB_X.******** = new Point(380, 45);
this.Controls.Add(listB_X);

araclar_eklendi=true;
}

listB_X.Items.Add(txtBox_X.text);

您可以使用foreach 语句遍历表单的Controls 来检查ListBox 是否存在。并定义一个布尔值来存储结果。

这里有一个演示你可以参考。

// bool to check if a listbox exists
bool flag = false;

private void button1_Click(object sender, EventArgs e)
{
    Control control = new Control();
    // traverse the form
    foreach (Control c in this.Controls)
    {
        if (c is ListBox)
        {
            control = c;
            flag = true;
            break;
        }
    }
    if (flag) // if true, access the listbox and add new item from tb
    {
        ((ListBox)control).Items.Add(textBox1.Text);
    }
    else // if false, create a new listbox
    {
        ListBox listBox = new ListBox();
        listBox.Location = new Point(380, 45);
        this.Controls.Add(listBox);
        listBox.Items.Add(textBox1.Text);
    }
}