Использование оператора switch в приложении Windows Forms - PullRequest
0 голосов
/ 17 июня 2009

И я делаю некоторые упражнения о переключателе. Я только что сделал это из консольного приложения, и я хотел бы сделать это в приложениях оконных форм. Я ищу синтаксис о том, как сделать переключатель в оконных формах. В консоли это обычно так:

switch (wordValue)
    {
     case 1:
     Console.WriteLine("You have entered numbered two");
     break;
     default:
     break;

как я могу сделать это в моих оконных формах, если я хотел бы отобразить эти случаи в listbox1?

Спасибо

=======

Спасибо. Я попробовал это, но я получаю ошибку. Вот что я пробовал:

     public static void WriteNumber(int wordValue)
    {
        switch (wordValue)
        {
            case 1:
               listbox.Items.Add("You have entered number one");
                break;
        }
    }

========

Вот код, который я пытаюсь сделать:

    private void btnOk_Click(object sender, EventArgs e)
    {
        string strUserInputNumber;
        strUserInputNumber = textBox1.Text.Trim();
        Int32 intNumber;
        if (Int32.TryParse(textBox1.Text, out intNumber))
        {
            listBox1.Items.Add(intNumber.ToString());
        }
    }


  public static void WriteNumber(int wordValue)
    {
        switch (wordValue)
        {
            case 1:
               this.listBox1.Items.Add("You have entered numbered one");
                break;
        }
     }

====

Это новый код:

    private void btnOk_Click(object sender, EventArgs e)
    {
        string strUserInputNumber;
        strUserInputNumber = textBox1.Text.Trim();
        Int32 intNumber;
        if (Int32.TryParse(textBox1.Text, out intNumber))
        {
            listBox1.Items.Add(intNumber.ToString());
            WriteNumber(intNumber);

        }
        else
        {
           MessageBox.Show("Please enter an integer not a character");
        }
    }

    public void WriteNumber(int wordValue)
    {
        switch (wordValue)
        {
            case 1:
                listBox2.Items.Add("You have entered numbered one");
                break;
            case 2:
                listBox2.Items.Add("You have entered numbered two");
                break;
            case 3:
                listBox2.Items.Add("You have entered numbered three");
                break;
            default:
                listBox2.Items.Add("You have exceeded the range of 1-3. Please enter the number between 1-3");
                break;
        }

Ответы [ 3 ]

4 голосов
/ 17 июня 2009

Синтаксис switch / case идентичен для WinForms и консольного приложения (или любого другого типа приложения или библиотеки классов), единственное отличие состоит в том, как вы отображаете данные. Если вы хотите добавить строку в список (что, по-видимому, то, что вы спрашиваете), это просто:

listBox1.Items.Add("Here is the text of the list box item");
3 голосов
/ 17 июня 2009

Это должно работать:

public void WriteNumber(int wordValue) 
{ 
   switch (wordValue) 
   { 
      case 1: 
         listbox.Items.Add("You have entered number one"); break; 
   } 
}

Вам необходимо удалить ключевое слово static , чтобы получить доступ к списку, который является переменной экземпляра.

0 голосов
/ 17 июня 2009

Это прекрасно работает:

switch (wordValue)
{
  case 1:
    this.listBox1.Items.Add("You have entered numbered two");
    break;
  default:
    break;
}
...