按钮事件 C# 中的添加

本文关键字:添加 事件 按钮 | 更新日期: 2023-09-27 18:24:02

      private void button2_Click(object sender, EventArgs e)
    {
           int a,sum=0;
            a = 10;
            sum = sum + a; 
         MessageBox.Show( sum + "Sum Result");
    }

每次我点击按钮时,我都会得到答案 10。我想存储结果。假设我点击了 5 次,那么应该有 50 次.为了更好地理解,上面的代码应该让你对我要做什么有所了解。

如果可能的话,其他选项我通过某种方法在按钮事件之外获得此结果。我是 C# 的新手,所以感觉很多问题。

按钮事件 C# 中的添加

正如@tnw试图告诉您的那样 - 像这样将sum移动到函数外部:

private sum = 0;
private void button2_Click(object sender, EventArgs e)
{
     sum = sum + 10; 
     MessageBox.Show( sum + "Sum Result");
}

这应该有效

解释

您面临的问题是,每次调用函数时,函数中声明的每个变量都会被初始化,并在退出函数时被丢弃。

使用外部变量 beeing,您可以将其作为类的字段,只要您使用的实例(例如表单的实例(存在,它就会保存在内存中。

这是因为

每次调用函数时都会重新初始化sum=0;。尝试将其设置为类中的全局变量,然后调用它。

这样,当调用函数时,sum的值不会回到 0,而是会从离开的位置递增。

// somewhere above 
int sum = 0;
// then the function
private void button2_Click(object sender, EventArgs e)
{
   sum = sum + 10; 
   MessageBox.Show(sum + " = Sum Result");
}

..因为您没有使用ab.我已经删除了它们。但是,如果您在函数中使用它们(在您尚未发布的代码中(,请重新添加它们。

每次调用函数时,您都会创建名为 sum 的新变量,if 将在函数末尾删除。因此,每次按下按钮时,sum 的值都与最初一样为 0。将 10 加到它,将始终返回 10。

全局变量在类本身内部声明。每次调用函数时,函数中的每个变量(例如此变量(都会重新创建,并且具有您为其提供的值。因此,全局写入变量是一种更好的方法,下次需要其值。