按钮事件 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# 的新手,所以感觉很多问题。
正如@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");
}
..因为您没有使用a
或b
.我已经删除了它们。但是,如果您在函数中使用它们(在您尚未发布的代码中(,请重新添加它们。
每次调用函数时,您都会创建名为 sum
的新变量,if 将在函数末尾删除。因此,每次按下按钮时,sum 的值都与最初一样为 0。将 10 加到它,将始终返回 10。
全局变量在类本身内部声明。每次调用函数时,函数中的每个变量(例如此变量(都会重新创建,并且具有您为其提供的值。因此,全局写入变量是一种更好的方法,下次需要其值。