我需要帮助为我的课程制作分数计算器。分数的输入无法预设,并且必须在增加计数值的同时将所有先前的输入相加。
例如,我在文本框中输入23然后按Enter键然后键入45我需要我的程序保留23并将其添加到45并且只要用户输入数字就需要重复此操作。< / p>
我知道它需要是一个集合,我有它的基础我只需要保存以前输入的代码并将其添加到新的并保存该总数以将其添加到下一个输入。
这是我尝试解决这个问题的方法:
List<decimal> score = new List<decimal>();
score.Add(scoreInput);
decimal scoreTotal = 0;
decimal scoreHolder = 0;
foreach (decimal d in score)
{
scoreTotal = scoreHolder + scoreInput;
scoreHolder = scoreInput;
scoreInput = 0;
txtTotal.Text = scoreTotal.ToString("");
txtCount.Text = score.Count.ToString("");
txtScore.Clear();
txtScore.Focus();
}
答案 0 :(得分:0)
只需为KeyDown事件添加事件处理程序,并使用如下代码:
private void tbEntry_KeyDown(object sender, KeyEventArgs e)
{
Decimal entry;
if (e.KeyCode == Keys.Enter)
{
if (Decimal.TryParse(tbEntry.Text, out entry))
{
score.Add(entry);
}
tbResult.Text = score.Sum(s => s).ToString();
tbEntry.Text = string.Empty;
}
}
这是实现你想要实现的目标的一种方式。
编辑:
这假设您将变量“得分”声明为表单的成员:
private List<decimal> score = new List<decimal>();
干杯