0
 void calculate()
 {
     total = 0.0; 
     price = 0.0;
     calori = 0;
     for (int i = 0; i < AdditionsListBox.Items.Count; i++)
     {
         if (AdditionsListBox.GetItemChecked(i) == true)
         {
             price = price + pricearray[milkindex * 3 + i];
             calori = calori + caloriarray[milkindex * 3 + i];
         }
     }
     total = Convert.ToInt16(numericUpDown5.Value)* price;
     totalTextbox.Text = price.ToString();
     UnitCaloriTextbox.Text = calori.ToString();
     totalTextbox.Text = total.ToString();
 }

当我检查时, AdditionsListBox.GetItemChecked(i) 它不是真的,但是当我取消选中项目时,它会给我真的我的错误在哪里?例如,我检查了项目,但它没有计算,但是当我取消选中项目时,它计算正确

4

1 回答 1

0

有两种选择行为checkedlistbox

1.Selecting一件物品。
2.Checking一个项目。

需要记住的几点:
1.当你调用GetItemChecked()函数时,它只会返回项目是否被选中,而不是被选中。见下图。

CheckedListBox 行为

2.GetItemChecked(i)代码中的函数遍历整个项目CheckedListBox,因此您必须确保是否GetItemChecked(i)为您的项目返回 true 或不i为所有项目返回 true。

3.从编码的角度来看,你不需要改变任何东西。

由于这些是我的假设,如果您仍然遇到问题,请告诉我。

于 2013-11-11T04:52:05.837 回答