我有一个简单的应用程序,其中值被添加到列表框中,价格作为双精度值在字符串右边。我写了一个标签的代码,每次将项目添加到列表框时,该标签就会将价格加起来。当我从列表框中删除selecteditem时,如何更新标签。从列表中减去值时的更新标签
public void Form2_Load(object sender, EventArgs e)
{
foreach (Control butt in groupBox2.Controls)
{
if (butt is Button)
{
((Button)butt).Click += Form2_Click;
}
}
}
public void Form2_Click(object sender, EventArgs e)
{
string st1 = ((Button)sender).Text;
if (st1 == "Family_Pizza")
{
price = 22.95;
}
else if (st1 == "Large_Pizza")
{
price = 16.95;
}
else if (st1 == "Medium Pizza")
{
price = 11.95;
}
else if (st1 == "Small Pizza")
{
price = 7.95;
}
else if (st1 == "Garlic Bread")
{
price = 4.95;
}
else if (st1 == "BBQ Ribs")
{
price = 9.95;
}
else if (st1 == "BBQ Wings")
{
price = 9.95;
}
else if (st1 == "Express Combo")
{
price = 5.95;
}
else if (st1 == "1.25 L Drink")
{
price = 4.50;
}
else if (st1 == "375 ml Drink")
{
price = 2.60;
}
else if (st1 == "600 ml Drink")
{
price = 3.50;
}
else if (st1 == "Ben 'n' Jerry Core")
{
price = 13.50;
}
else if (st1 == "Ben 'n' Jerry Pint")
{
price = 11.95;
}
s2 = price.ToString("C");
string item = st1;
string value=s2.PadLeft(s2.Length+8,' ');
listBox1.Items.Add(item+value);
updprice = price + updprice;
label2.Text = updprice.ToString("C");
}
private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(listBox1.SelectedItem);
}
具体在哪里,你卡住了?事实是你的价值观被格式化为显示货币符号让你失望?向我们展示您试图执行的操作以及发生的错误,以便我们帮助您解决问题。考虑也使用不同的控制...像网格这样的底层价值仍然只是一个数字,但你可以告诉网格格式的数字包括货币符号。 –
请编辑这个问题,并发布所有相关的代码,如果这是在方法内部显示完整的方法,并且向我们指出你的代码中的什么地方没有以你期望的方式发生, .. – MethodMan
放置更新'label'值的完整代码。 –