使用对象列表填充列表框

时间:2014-04-06 09:01:33

标签: c# list object listbox

您好我试图使用另一个名为produkt的类的对象中的值来填充我的列表框,该类具有3个字符串值。列表框中的每个项目都具有productname,序列号和价格,如果列表框已经包含一个项目,其中包含相同的productname或warenumber,我希望弹出一个消息框。我的问题是,当我尝试使用我的List.Add(newProduct)将对象添加到我的列表框中作为包含这些值的字符串时,它会进入我的列表框,当我尝试打印它时,它说Mediastore.produkt。我已经尝试了很多不同的方法来解决这个问题我已经习惯了toString来尝试将我的对象的值变成一个字符串。 任何想法如何让我的列表框显示列表的内容?

public void NewProdct_Click(object sender, EventArgs e)        
{
    string productname;
    string warenumber;
    string Price_;

    productname = ProdNamn.Text;
    warenumber = Varu_Nr.Text;
    Price_ = pris_.Text;

    List<produkt> List = new List<produkt>();

    if(List.Any( produkt => produkt.Name == productname || produkt.Serialnumber == warenumber)) 
    {
        MessageBox.Show("Product with that name or warenumber");
        return;
    }

    var newProdukt = new produkt()
    {
        Name = productname,
        Serialnumber = warenumber,
        price = Price_
    };
    string random;
    random = newProdukt.Name + newProdukt.price + newProdukt.Serialnumber ;

    List.Add(newProdukt);
    Console.WriteLine(newProdukt);
}

1 个答案:

答案 0 :(得分:0)

您可以将produkt列表定义为ListBox的数据源,并将DisplayMember设置为字段。

或者您可以在产品类中添加ToString()方法。然后,这将用于在ListBox中显示产品。