发生 if 语句时在标签上添加数字

Adding numbers on label when if-statement occurs

我正在 windows 表单应用程序上制作一个应用程序,但我卡在了某个点上。

顺便说一句,我是编程的初学者。

我把我的代码放在这里:

        if (random.Next(3) == schat)
        {
            using (Graphics graphics = pictureBox1.CreateGraphics())
            {
                graphics.DrawImage(Properties.Resources.Schat, ClientRectangle);
            }

            MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht");
            lblTotaalGeld.Text = Convert.ToString(100);
            double totaalGeld = Convert.ToDouble(lblTotaalGeld.Text) / 100;
            lblTotaalGeld.Text = Convert.ToString("€" + lblTotaalGeld.Text);



            btnZoektocht.Enabled = false;
        }

我想要创建的是当此 "if" 报表第二次出现时..我想将额外的 100 美元添加到银行帐户中。目前我只得到100,没有任何增加。

希望我说得有道理

提前致谢

double totaalGeld = 0;

根据此 if 语句的发生方式,您可以将此变量放在代码的开头或作为全局变量

if (random.Next(3) == schat)
        {
            using (Graphics graphics = pictureBox1.CreateGraphics())
            {
                graphics.DrawImage(Properties.Resources.Schat, ClientRectangle);
            }

            MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht");
            totaalGeld += 100.0;
            lblTotaalGeld.text = totalGold.ToString();
         }

现在每次if语句出现时,totaalGeld会增加100并且标签lblTotaalGeld显示相应的数字

希望这对您有所帮助,并将指导您找到解决方案!

您可以通过几种不同的方式解决这个问题,但我会建议您这样做。

将标签内的值存储在 methodif-statement 范围之外的 variable/property(全局变量)

Variable 为例,您可以使用

private double totalGold = 0.0;

或者对于 Property 你可以有类似的东西

public double totalGold { get; private set; }

注意:既然你说你是初学者,这些例子中的第一个可能会更好地掌握概念。

另请注意:您需要在 (private/public) 和您的 variable/ 之间添加 static property 名称,如果您在 static class 或您的 main class.

中执行此操作

两种方式的实现是一样的。我们所做的就是在每次输入 if-statement.

时更新此 totalGold

您当前 if-statement 的返工可能如下所示:

    if (random.Next(3) == schat)
    {
        using (Graphics graphics = pictureBox1.CreateGraphics())
        {
            graphics.DrawImage(Properties.Resources.Schat, ClientRectangle);
        }

        totalGold += 100.0; // NEW LINE

        MessageBox.Show("Hoera je hebt extra geld gevonden", "zoektocht");
        lblTotaalGeld.Text = Convert.ToString("€" + totalGold);

        btnZoektocht.Enabled = false;
    }