我正在创建一个程序,当前有10个按钮供用户点击:1 - 10.程序会告诉他们是否可以被2整除。
我不能完全确定我需要怎样才能解决这个问题,因为我只是在Windows Forms中开始编程。它可能很简单,但我无法理解它!
我希望能够阅读点击的按钮...将其传递给循环...然后告诉用户他们点击的数字是否可以被2整除。
我已经完成了所有的代码工作,但它只是单击按钮时的部分,我无法通过循环传递数字来测试它。我可以复制出每个事件字段下的所有测试代码,但我被告知我只需要复制一次。这意味着我的代码将更加整洁。
答案 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)
。它应该从你那里工作。