列表框不显示项目
本文关键字:项目 显示 列表 | 更新日期: 2023-09-27 18:17:56
我希望我的项目列表在列表框,但当我尝试
listbox1.Items.Add("Item1");
没有添加任何内容,但是如果我把代码在表单加载方法,它的工作,但当我从调用它它没有单独的代码模块。我想这是因为另一个例子的表单正在更新中。但是如何获得活动表单并添加项目呢?我得到了一个抽象类和树子类,我想要我的子类在一个列表,然后在表单上显示。
这是我第一次尝试,但这不起作用。
private void button1_Click(object sender, EventArgs e)
{
Subclass o = new Subclass();
List<BaseClass> l = new List<BaseClass>();
l.Add(o);
Form1 f = new Form1();
f.AddObjectToListbox(l);
}
然后在From1中我得到
public void AddObjectToListbox(List<BaseClass> l)
{
foreach (Subclass objectname in l.OfType<Subclass>())
{
l.Items.Insert(0, "text" + O.getMetod);
}
}
,但就像它现在只是添加到form1的另一个实例。谢谢你的帮助。
你的问题有点模糊…在哪里调用listbox1.Items.Add("Item1");从
。
从Forms类文件
中的方法从另一个文件中的代码
来自不同程序集的代码,
然而,你可以通过Form类静态方法获得活动表单:
System.Windows.Forms.Form.ActiveForm
可能有帮助
一个问题可能是在AddObjectToListBox方法中同时使用"Object"作为类和变量名。此外,如果您将obj强制转换为子类,但随后将其分配给Object类型的变量,则没有多大意义。你可以同时解决这两个问题,像这样。
foreach (Subclass obj in l.OfType<Subclass>())
{
lbVehicles.Items.Insert(0, "text" + obj.getMetod);
}
作为第三,它看起来就像你创建一个新的窗体每次点击按钮,这是故意的吗?
你突然找到了你一直在寻找的东西。
Form currentForm = Form.ActiveForm;
ListBox lb = (ListBox)currentForm.Controls.Find("ListboxName", true)[0];
但是还是谢谢你看我的问题
首先尝试清除项,然后尝试添加