单击按钮后如何循环?

时间:2012-12-05 21:15:29

标签: c# winforms loops

我正在创建一个程序,当前有10个按钮供用户点击:1 - 10.程序会告诉他们是否可以被2整除。

我不能完全确定我需要怎样才能解决这个问题,因为我只是在Windows Forms中开始编程。它可能很简单,但我无法理解它!

我希望能够阅读点击的按钮...将其传递给循环...然后告诉用户他们点击的数字是否可以被2整除。

我已经完成了所有的代码工作,但它只是单击按钮时的部分,我无法通过循环传递数字来测试它。我可以复制出每个事件字段下的所有测试代码,但我被告知我只需要复制一次。这意味着我的代码将更加整洁。

3 个答案:

答案 0 :(得分:3)

怎么样:

//in the form constructor
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);
button3.Click += new EventHandler(button_Click);
//and so on

然后方法可以是:

private void button_Click(object sender, EventArgs e){
   string n = ((Button)sender).Text;
   int number;
   if(int.TryParse(n, out number)){
      if(number % 2 == 0)
         MessageBox.Show(n + "  is divisible by 2");
      else 
         MessageBox.Show(n + "  isn't divisible by 2");
   }
}

答案 1 :(得分:1)

你可以:

        void button1_onClick(object sender, EventArgs e)
        {
            bool result = IsDivisibleByTwo(1);
        }

        void button2_onClick(object sender, EventArgs e)
        {
            bool result = IsDivisibleByTwo(2);
        }

        bool IsDivisibleByTwo(int x)
        {
            return (x % 2 == 0);
        }

或者,您可以使用它的值标记每个按钮,然后从事件发送方获取值以传递给IsDivisble方法。

答案 2 :(得分:0)

Button1_Click事件中,您应该将button1.Text作为号码。您需要通过int转换为Convert.ToInt32(button1.Text)。它应该从你那里工作。