【发布时间】:2020-03-18 21:42:00
【问题描述】:
在 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);
【问题讨论】:
-
此代码在 Button.Click 事件中运行,因此
ListBox listB_X是一个本地对象:稍后您将无法使用此引用(如在listB_X.Items.Add(txtBox_X.text);中)。将 ListBox 声明为实例字段并检查它是否为null以决定是创建新的还是仅访问它。但是您可以简单地创建它,然后在第一次请求它的存在时显示它。 -
如果列表框的位置和大小等是固定的,为什么不像往常一样将它添加到表单中(使用设计器)并使其隐藏(可见:假)首先?然后,您可以在此事件处理程序中使其在需要显示时可见,如果它已经不可见。
标签: c# visual-studio winforms dynamicobject