在表单中使用文本框切换语句

时间:2019-03-14 19:58:44

标签: c# switch-statement

  

我正在构建一个表单,该表单从文本框中获取输入数字,然后将输入的数字显示在另一个文本框中,以等价的罗马数字显示。

我的表格:

enter image description here

private void convertButton_Click(object sender, EventArgs e)
    {
        int numberInput;
        switch (numberInput)
  

这是我不断收到错误代码的地方。 “开关(numberInput)”被视为未分配的局部变量。如何分配它,使其能够访问所有大小写整数?

        {
            case 1:
                outputTextBox.Text = "I";
                break;
            case 2:
                outputTextBox.Text = "II";
                break;
            case 3:
                outputTextBox.Text = "III";
                break;
            case 4:
                outputTextBox.Text = "IV";
                break;
            case 5:
                outputTextBox.Text = "V";
                break;
            case 6:
                outputTextBox.Text = "VI";
                break;
            case 7:
                outputTextBox.Text = "VII";
                break;
            case 8:
                outputTextBox.Text = "VIII";
                break;
            case 9:
                outputTextBox.Text = "IX";
                break;
            case 10:
                outputTextBox.Text = "X";
                break;
            default:
                MessageBox.Show("Please enter and number between 1 and 10. Thank you!");
                break;


        }

2 个答案:

答案 0 :(得分:0)

由于尚未int numberInput;分配变量,因此出现错误。您说输入来自文本框,在这种情况下,假设textbox1是您的文本框控件实例名称,则执行以下操作

int numberInput = Convert.ToInt32(this.textbox1.Text.Trim());

答案 1 :(得分:0)

如果解析不成功,Convert.ToInt32可能会引发异常。另一种方法是Int.Parse:

int numberInput = int.Parse(textbox1.Text.Trim());

或更好

int numberInput;
if(int.TryParse(textbox1.Text.Trim(), out numberInput))
  {
      switch (numberInput) 
        ...

  }