NumericUpDown Value * добавление цены - PullRequest
2 голосов
/ 27 октября 2019

Я создаю меню пиццы, и у меня есть объекты numericUpDown в моем приложении формы Windows. В тот момент, когда я изменяю значение numericUpDown для Cheese Pizza на 1, оно выводит £ 3,50 в метку общего счета, однако при измененииЗначение numericUpDown для Ham Pizza заменяет текст в метке на £ 4,20. Когда у меня есть 1x Cheese Pizza и 1x Ham Pizza, как мне сложить все вместе, чтобы получить £ 7,70 за 1x Cheese Pizza и 1x Ham Pizza

private void NudQuantity1_ValueChanged(object sender, EventArgs e)
{
  if (NudQuantity1.Value == 0)
  {
    gbCheesePizza.Enabled = false;
  }
  else
  {
    gbCheesePizza.Enabled = true;
  }
  Total = Convert.ToDouble(NudQuantity1.Value) * Price_CheesePizza;
  lblTotalBill.Text = String.Format("{0:C}", Total);
}

private void NudQuantity2_ValueChanged(object sender, EventArgs e)
{
  if (NudQuantity2.Value == 0)
  {
    gbHamPizza.Enabled = false;
  }
  else
  {
    gbHamPizza.Enabled = true;
  }
  Total = Convert.ToDouble(NudQuantity2.Value) * Price_HamPizza;
  lblTotalBill.Text = String.Format("{0:C}", Total);
}

Ответы [ 2 ]

3 голосов
/ 27 октября 2019

Оба события должны вызывать общий метод, который пересчитывает сумму для обоих значений

private void NudQuantity1_ValueChanged(object sender, EventArgs e)
{

    gbCheesePizza.Enabled = !(NudQuantity1.Value == 0)
    UpdateTotal();

}

private void NudQuantity2_ValueChanged(object sender, EventArgs e)
{
    gbHamPizza.Enabled = !(NudQuantity2.Value == 0)
    UpdateTotal();
}
private void UpdateTotal()
{
    Total = Convert.ToDouble(NudQuantity1.Value) * Price_CheesePizza;
    Total += Convert.ToDouble(NudQuantity2.Value) * Price_HamPizza;
    lblTotalBill.Text = $"{Total:C}";
}
0 голосов
/ 27 октября 2019

Вы каждый раз перезаписываете общее количество. Носите его с собой по мере добавления предметов.

Простой пример

    Total = Total + (Convert.ToDouble(NudQuantity2.Value) * Price_HamPizza)

Поиграйте с ним, чтобы заставить его работать независимо от количества предметов или порядка, в котором они заказаны.

...