0

我做了一个计算总价的应用程序,我希望当单击按钮时,它会在数量上加 1,但它只加 1,当我再次单击按钮时,它不加,有没有办法循环一个按钮?

这是我的示例代码

int intclicks;

private void button10_Click(object sender, EventArgs e)
{

    intclicks++;
    int qty = 1;
    {
        if (intclicks > 0)
        {
            int totalqty;
            totalqty = qty + 1;
            textBox3.Text = totalqty.ToString();
            totalPrice();
        }
    }

}

套装在另一个中totalPrice();显示总价textBox,谢谢。

4

4 回答 4

2

您在事件开始时分配qty =1,所以,是的,它从头开始。

这里缺少太多,但似乎您可以使用:

int qty = int.Parse(textBox3.Text);
...
于 2013-02-22T07:46:56.393 回答
0

当您单击 GUI 程序中的按钮时,它会触发一次事件。ClickEvent 中的循环似乎不是很有用,因为它会阻塞主线程,因此您的 UI 会冻结。您可以启动一个在后台循环的线程。有关线程,请参阅MSDN。请进一步解释您想要实现的目标。

于 2013-02-22T07:50:39.523 回答
0

那是因为您在循环开始之前设置了 int qty= 1 并且在您的 if 条件下您正在检查 if (intclicks > 0)。因此,当您第一次单击该按钮时,它将检查 if (intclicks > 0) 但由于您已设置 qty = 1,因此条件将为 false,并且不会进入 if 条件。所以将 if 条件更改为

if (intclicks >= 1)
于 2013-02-22T07:50:41.543 回答
0

我认为您的逻辑对于(我相信)您正在尝试做的事情有点过分,为什么不尝试。

int intclicks;
int totalqty;

private void button10_Click(object sender, EventArgs e)
{

    intclicks++;
    if (intclicks > 0)
    {
        totalqty++
        textBox3.Text = totalqty.ToString();
        totalPrice();
        intclicks = 0;
    }
}
于 2013-02-22T07:51:14.507 回答