嘿伙计这是我的代码,用于从用户获取项目并使用C#计算总付款。我的问题是我如何处理收据部分?我被卡住了。我不知道是否使用messagebox或以其他形式使用datagrid。但我不知道如何使用它。 C#newbie here。在youtube上看到一些教程来获得这个。
由于
private void getValues(string custOrder)
{
order.item = custOrder.Split('$')[0];
order.price = Convert.ToDouble(custOrder.Split('$')[1]);
finalBill += "Ordered Item: " + order.item + "\nPrice: " + order.price.ToString("C2") + "\n"; //C2 for 2 Decimal places
updateBill();
}
private void updateBill()
{
subtotal += order.price;
total += order.price + (order.price * TAX);
totalTaxes += order.price * TAX;
listBox1.Items.Clear(); Only output latest bills
listBox1.Items.AddRange(finalBill.Split('\n'));
listBox1.Items.Add("Subtotal: " + subtotal.ToString("C2"));
listBox1.Items.Add("Tax: " + totalTaxes.ToString("C2"));
listBox1.Items.Add("Total: " + total.ToString("C2"));
}
private void boxSelection(object sender, EventArgs e)
{
{
if (sender == meals)
getValues(meals.SelectedItem.ToString());
else if (sender == sideorders)
getValues(sideorders.SelectedItem.ToString());
else
getValues(drinks.SelectedItem.ToString());
}
}
private void ResetButton_Click(object sender, EventArgs e)
{
subtotal = 0;
total = 0;
totalTaxes = 0;
finalBill = "FINAL BILL : \n";
listBox1.Items.Clear();
}
private void print_receipt_Click(object sender, EventArgs e)
{
}
答案 0 :(得分:0)
有很多方法可以完成您的工作,但一种简单的方法是使用foreach
语句并构建一个字符串,例如....
string result;
foreach (string s in listbox1.items)
{
result = result + s + Environment.NewLine;
}
MessageBox.Show(result);
如果你真的想在MessageBox
显示它!
顺便说一句,使用Environment.NewLine
代替"\n"