不止一次减去一个数字

时间:2018-01-16 20:59:00

标签: c#

我对编程很新,想知道每次单击按钮时我的程序如何从100减去30。这就是我所拥有但似乎无法找到正确的公式。

        int hpLevel = 100;
        int hpDrop = 30;

        if (hpLevel > 0)
        {
            lblHpLevel.Text = Convert.ToString(hpLevel - hpDrop);
        }
        else
        {
            lblHpLevel.Text = Convert.ToString(hpLevel);
        }

2 个答案:

答案 0 :(得分:1)

每次单击按钮时,代码都会声明一个新的hpLevel变量。您希望在类级别定义在方法之外的变量,以便在点击之间保留该值。

此外,代码永远不会将结果分配回hpLevel变量。它将它直接分配给TextBox,而hpLevel永远不会更改。您需要将结果分配给hpLevel,然后将该值设置为文本框。

int hpLevel = 100;
int hpDrop = 30;

void button1_Click( ... )
{
    if (hpLevel > 0)
    {
        hpLevel -= hpDrop;  
    }
    lblHpLevel.Text = Convert.ToString(hpLevel);
}

答案 1 :(得分:0)

您必须在处理int hpLevel = 100的方法范围之外声明click event。如果int hpLevel = 100是前述方法的一部分,那么您将实例化名称为int的{​​{1}}变量,并在每次单击按钮时为其指定值hpLevel。 您可以了解scopes here