列表框不显示项目
我希望我的项目列表中一个列表框,但是当我尝试列表框不显示项目
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);
}
然后在我的1跳转我得到
public void AddObjectToListbox(List<BaseClass> l)
{
foreach (Subclass objectname in l.OfType<Subclass>())
{
l.Items.Insert(0, "text" + O.getMetod);
}
}
但像它现在它只是添加到Form1的另一个实例。 感谢您的帮助。
突然你发现你正在寻找自己。 这是做到了。
Form currentForm = Form.ActiveForm;
ListBox lb = (ListBox)currentForm.Controls.Find("ListboxName", true)[0];
但仍然感谢您看我的问题。
你的问题是痘痘有点模糊......你在哪里调用listbox1.Items.Add(“项目1”);从
例如
从窗体类文件
从另一个文件代码的方法,
从不同的汇编代码,
但是,你可以通过Form类的静态活动表格方法:
System.Windows.Forms.Form.ActiveForm
愿这有助于
首先我尝试使metod静态,但然后我不能使用listbox控制? – saadan
一个问题可能是在AddObjectToListBox方法中使用“Object”作为和变量名。 另外,如果您将obj转换为Subclass,但是将其分配给Object类型的变量,这没有多大意义。你可以一次解决这两个问题,就像这样。
foreach (Subclass obj in l.OfType<Subclass>())
{
lbVehicles.Items.Insert(0, "text" + obj.getMetod);
}
作为第三个,它看起来像你每次单击按钮时创建一个新的形式,是故意的吗?
是的,好的可以看到我写了我的例子有点太快,因为在两个地方都不能站立对象。但这只是我的代码的一个示例。是的,我每次都会创建一个新表单,因为我知道如何获得活动表单。就像我在eksempel中所说的那样,我认为这就是为什么它不起作用 – saadan
向我们展示一些代码。很难看到你的代码是如何工作的,以及实例是什么。 –
请在代码列表框外显示您想要添加项目的代码。 – Fischermaen
抱歉我的问题的解释不好。只是想尽快解决它。我希望这会有所帮助。 – saadan