C# Windows窗体应用实现多数字累加功能问题求助
窗体累加功能修复方案
功能需求
在文本框中输入数字后点击添加按钮,标签显示该数字;再次输入数字并点击添加按钮,标签显示两次数字的累加和。示例:
- 输入10点击添加按钮,标签显示10;
- 输入8点击添加按钮,标签显示“10 + 8 = 18”;
- 输入2点击添加按钮,标签显示“18 + 2 = 20”。
原代码问题
原代码存在三个核心问题:
- 每次点击按钮时,
sum = int.Parse(textBox1.Text)直接覆盖之前的累加值,完全没有实现累加逻辑; sum = +sum是无效操作,等价于sum = sum,对结果无任何影响;- 标签仅显示最终数值,未按照需求展示累加过程的格式化文本。
修正后的完整代码
namespace ICT_Project_Prac { public partial class Form1 : Form { private int sum; private bool isFirstInput = true; public Form1() { InitializeComponent(); sum = 0; } private void button1_Click(object sender, EventArgs e) { try { int inputNum = int.Parse(textBox1.Text); if (isFirstInput) { sum = inputNum; label1.Text = sum.ToString(); isFirstInput = false; } else { int newSum = sum + inputNum; label1.Text = $"{sum} + {inputNum} = {newSum}"; sum = newSum; } textBox1.Clear(); } catch { MessageBox.Show("请输入有效的数字"); } } } }
关键修改说明
- 新增
isFirstInput变量,用来区分首次输入和后续输入的显示规则; - 将输入数字解析到临时变量
inputNum,避免直接覆盖累加总和sum; - 首次输入时直接显示输入值,后续输入按照
[旧总和] + [新输入] = [新总和]的格式生成标签文本; - 操作完成后清空文本框,优化用户输入体验;
- 将错误提示改为中文表述,适配使用场景。
内容的提问来源于stack exchange,提问作者subramaniyam vithyaban
相关产品推荐
相关产品推荐

