我正在使用文本框来显示数量。使用2个按钮我想增加或减少一个值。到目前为止增量是有效的,但是当我尝试递减相同的值时,它会将其重新设置为0而不是从5增加到4。
ListBox
这是我正在使用的代码。
答案 0 :(得分:3)
您正在使用while
循环。这意味着它会递减值,直到它变为0。
将您的while
更改为if
,它应该按预期工作。
private void button3_Click(object sender, EventArgs e)
{
double val = double.Parse(textBox1.Text);
if (val != 0)
val--;
textBox1.Text = val.ToString();
}
答案 1 :(得分:2)
您正在使用while
构建val--
util 0
在您的情况下,您只需要这样做:
private void button3_Click(object sender, EventArgs e) {
double val = double.Parse(textBox1.Text);
if (val > 0)
val--;
textBox1.Text = val.ToString();
}
此外,我建议您使用double.TryParse
方法。因此,您无需添加try ... catch
语句:
private void button3_Click(object sender, EventArgs e) {
double val;
bool perseOk = double.TryParse(textBox1.Text, out val);
if (perseOk && val > 0) {
val--;
} else {
val = 0;
}
textBox1.Text = val.ToString();
}