Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中,当项目添加到列表框中时,如何更新购物篮中的项目数量#_C# - Fatal编程技术网

C# 在C中,当项目添加到列表框中时,如何更新购物篮中的项目数量#

C# 在C中,当项目添加到列表框中时,如何更新购物篮中的项目数量#,c#,C#,目前我正在用C#开发一个购物篮应用程序 是否有一种方法,当我按下添加按钮时,它可以在每次将项目添加到购物篮时更新项目数量 谢谢。这是我当前的代码: protected void btnAdd_Click(object sender, EventArgs e) { listBox1.Items.Add(textBox3.Text); NumericUpDown1.Maximum = 100; NumericUpDown1.Minimum = 0; textBox5

目前我正在用C#开发一个购物篮应用程序

是否有一种方法,当我按下添加按钮时,它可以在每次将项目添加到购物篮时更新项目数量

谢谢。这是我当前的代码:

protected void btnAdd_Click(object sender, EventArgs e) 
{
    listBox1.Items.Add(textBox3.Text);
    NumericUpDown1.Maximum = 100;
    NumericUpDown1.Minimum = 0;
    textBox5.Text = listBox1.Items.Count.ToString();
    if (NumericUpDown1.Value == 0) 
    { 
        NumericUpDown1.Value = +1;
    }
}

根据注释更正的代码:

    protected void btnAdd_Click(object sender, EventArgs e) {
      listBox1.Items.Add(textBox3.Text);
      NumericUpDown1.Maximum = 100;
      NumericUpDown1.Minimum = 0;

      int previousNoItems;
      Int.TryParse(textBox5.Text, out previousNoItems);
      textBox5.Text += previousNoItems + NumericUpDown1.Value;
    }

就我个人而言,我会保留一个对象列表,使用产品名称作为键来存储产品名称/描述和值(计数)。然后我将使用数据绑定将列表绑定到列表框,并让数据绑定完成显示任何更新的工作

其思想是,您可以通过搜索列表找到感兴趣的对象,然后更新其“数量”属性,留下数据绑定来更新UI

或者,您可以使用创建的新类直接添加到listbox,但相应地设置ValueMember和DisplayMember属性

public class OrderLineViewModel 
{
    public string Description { get; set; }
    public uint Quantity { get; set; }        
}

有关更多信息,请参阅至。

此图像包含代码为什么数量应为两个?只有一个测试1产品,这不就是它显示的数量吗?否。项目为2。这不是正确的行为吗?添加代码,而不是屏幕截图。Listbox可以具有count属性。ListBox1.Items.count返回Listbox当前持有的项目数量。受保护的void btnAdd_Click(对象发送方,事件参数e){ListBox1.Items.Add(textBox3.Text);NumericUpDown1.Maximum=100;NumericUpDown1.Minimum=0;textBox5.Text=listBox1.Items.Count.ToString();if(NumericUpDown1.Value==0){NumericUpDown1.Value=+1;}如果我在列表中添加了另一个项目,并且有多个项目,那么数量将根据列表框中的项目数进行更新。“数量”和“无项目”之间的区别是什么?数量类似于我需要使用它来获得篮子中无项目的最终价格。当添加数量为n的新项目(对应于NumericUpDown1.Value)时,项目总数(textBox5.Text)将增加n,对吗?是的,这正是我想要做的。我建议使用Neil建议的解决方案,否则您将无法跟踪项目之间的数量。除非您需要根据数量复制项目并执行listBox1.items.Add(textBox3.Text);多次。谢谢Neil。我现在就开始。