将数量更改为列表<;对象>;在列表框中签出

本文关键字:列表 gt 对象 lt | 更新日期: 2023-09-27 17:57:31

hi我有一个Mediastore程序,我有4个类。Produkt:这是一个包含一些变量的类,我使用这些变量将产品添加到我的列表中。

public class produkt
{
    public string Name;
    public string price;
    public string Serialnumber;
    public int kvantitet;
    public override string ToString() 
    { 
        return "ProduktNamn: " + Name + 
               " VaruNr: (" + Serialnumber + ") " + 
               "Pris: " + price + 
               " Kr" + " Kvantitet " +kvantitet; 
    }

LagerList:这个类是静态的,只用于存储我的List,以便可以从不同的表单访问它。

public static class LagerList
{
    public static List<produkt> List = new List<produkt>();

然后我有我的Lager类,我用它将我的产品添加到我的列表和Listbox中。这是通过有3个文本字段来完成的,我在其中说明我创建的对象的名称、序列号和价格。

在这个类中,我还有2个文本字段和一个按钮,可以添加我的产品类的选定列表框对象的数量。如果我试图添加数量的商品存在,我会得到一个问题,如果我想添加该产品,它会将该产品添加到列表中。然而,如果产品allready存在,那么它将添加具有从我的文本框中选择的数量的数量。

然后我有我的类Kassa,这是一个有2个列表框的表单。第一个列表框与Lager类中的列表框共享相同的列表,另一个列表框是我用来从产品列表中提取项目并将其放入结账"篮子"的列表框,然后我可以从结账篮子中选择其中一个项目,将我想要的项目金额放入名为KvantLEv的文本字段中,然后按下结账按钮以模拟结账然后这个选定项目的数量被假设为低于指定的数量,并将从checkoutlistbox中删除,但这不起作用。。。到目前为止,这是我的结账功能

private void cashout()
{
    int a = VaruKorg.Items.Count - 1;
    for (int i = a; i >= 0; i--)
    {
        if (VaruKorg.GetSelected(i))
        {
           // //checkKvant is the textfield of the specified amount i want my quantity             to be lowerd.   
        }
    }
}

将数量更改为列表<;对象>;在列表框中签出

我不确定你在这里使用GetSelected()是为了什么,但如果VaruKorg包含篮子中的项目,并且你已经从原始列表中添加了它们(即它们是引用),你可以这样做:

private void cashout()
{
    if (VaruKorg.SelectedIndex != -1)
    {
       ((produkt)VaruKorg.SelectedItem).kvantitet -= Int.Parse(sometextfield);
    }
}