c# - 如何让应用程序检查用户输入?

标签 c# winforms random

我正在制作加法辅导示例,但找不到检查用户输入的方法。我知道有一些方法可以在一些小事情上进行比较,例如,当学生的成绩是 90-100 时,也许您可​​以应用 MessageBox.Show 来表明该学生的成绩被视为大多数情况下是 A。但是,我无法弄清楚在检查加法总和时使用哪种尝试。比如,下面的代码片段会产生新的问题供用户处理。

private void Newproblem_Click(object sender, EventArgs e)
{
  Random Numbers = new Random();
  int number1;
  int number2;
  int Sum;

  number1 = Numbers.Next(400) + 101;
  number2 = Numbers.Next(400) + 101;
  theproblemLabel.Text = number1 + "  +  " + number2.ToString();
}

但我也希望能够检查用户的答案。有人会为我提供如何实现这一目标的方法吗?我将不胜感激任何人给我的任何提示。

最佳答案

更好的方法是为问题使用一个文本框,为答案使用另一个文本框。

顺便说一句,如果您以前使用过这些属性,则可以使用属性:ReadOnly 并将其设置为 true,这样用户就无法修改问题。

不同情况下的布局: Not a number Not correct Correct

例子:

//Declare variables so you can use them globally
int number1, number2, sum, userSolution;
Random numbers;

private void btnProblem_Click(object sender, EventArgs e)
{
  numbers = new Random();
  number1 = numbers.Next(400) + 101;
  number2 = numbers.Next(400) + 101;

  sum = number1 + number2;
  txtProblem.Text = number1 + "  +  " + number2;
}

private void btnSolution_Click(object sender, EventArgs e)
{
  // You try to parse the text to a integer,
  // if it works its stored in userSolution,
  // If it fails, it shows the messagebox
  if (!int.TryParse(txtSolution.Text, out userSolution))
  {
    MessageBox.Show("Input is not a valid number.");
  }
  else
  {
    // Check user solution and compare it to the sum
    if (userSolution == sum)
    {
      MessageBox.Show("Correct!", "Problem Solved!");
    }
    else
    {
      MessageBox.Show("Not Correct.", "Please try again.");
    }
  }
}

关于c# - 如何让应用程序检查用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315940/

相关文章:

打开使用 System.IO.Compression 创建的 ZipArchive 时出现 C# .NET 缺少方法异常

R set.seed() 的范围

c++ - rand() 不工作,给我一个超出指定最大值和最小值的数字

c# - 没有注册类型 'MyType' 的服务

c# - Linq 列表列表到单个列表

c# - 当 DataSource 是 BindingList 时过滤 BindingSource

c# - WebBrowser 控件和 JavaScript 错误

simulation - 是否可以通过物理过程模拟产生随机数?

c# - 默认 C# 字符串编码

c# - 最大限度地减少迁移到 Azure Blob 存储对代码的影响