【问题标题】:changing quantity to list <object> in listbox checkout在列表框结帐中将数量更改为列表 <object>
【发布时间】:2014-04-09 13:05:16
【问题描述】:

您好,我有一个 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 : 这个类是静态的,仅用于存储我的列表,以便可以从不同的形式访问它。

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

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

在这个类中,我还有 2 个文本字段和一个按钮,可以添加我的产品类的选定列表框对象的数量。如果我试图向剂量添加数量的项目存在,我会收到一个问题,如果我想添加该产品并将该产品添加到列表中。但是,如果产品已经存在,则应该从我的文本框中添加具有所选数量的数量。

然后我有我的 Kassa 类,它是一个带有 2 个列表框的表单。 第一个列表框与我的 Lager 类中的列表框共享相同的列表,另一个列表框是我用来从我的 produktlist 中获取项目并将其放入我的结帐“篮子”的列表框,然后我应该能够选择其中一个我结帐篮中的这些物品将我想要的该物品的数量放入名为 KvantLEv 的文本字段中,然后按下结帐按钮以能够模拟结帐,然后该选定物品的数量应该降低指定的数量,并且将是从结帐列表框中删除,但这不起作用... 到目前为止,这是我的结帐功能

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.   
        }
    }
}

【问题讨论】:

  • 您在 cashout() 中哪里设置产品的初始数量?
  • 在我的 Lager 类中,我首先创建产品,然后使用一种方法向该项目添加数量,因此当我开始项目时,我首先创建我要使用的对象,然后向它们添加数量然后我去到我的 Kassa 表单并将它们放在结帐列表框中,在这里我希望能够在单击结帐按钮时删除指定的数量
  • 我稍后将添加一个 CSV 文件,我将在其中保存我所有的对象,并且每次项目开始时都可以上传它们,所以我不必每次都添加它们我想尝试一些东西
  • 对,但是在这个 cashout() 方法中,您创建了一个新产品,您无法从任何地方获取它。
  • 是的,我知道我在发布后才意识到它没有任何价值,因为它是一个没有任何价值的全新产品。我编辑了我的原始帖子并修复了它,但我真正需要帮助的是如何根据文本框的值降低所选项目的数量变量。

标签: c# listbox


【解决方案1】:

我不确定您在此处使用 GetSelected() 的目的是什么,但如果 VaruKorg 包含篮子中的项目,并且您已从原始列表中添加它们(即它们是参考),您可以这样做像这样:

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

【讨论】:

    猜你喜欢
    • 2023-02-23
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多