列表框不显示项目

本文关键字:项目 显示 列表 | 更新日期: 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];

但是还是谢谢你看我的问题

首先尝试清除项,然后尝试添加