我遇到了一个不断发生的问题,我不确定问题是什么。我需要在Microsoft Visual studio中创建一个程序,其中radioButton1用于查找连续数字的总和,而radioButton2用于查找数字的阶乘。
将有三个按钮,一个用于FOR循环,一个用于WHILE循环,一个用于DO-WHILE循环。我正在研究FOR按钮。
我要做的是通过选择,然后按下其中一个按钮,它将使用在消息框中单击的循环找到答案。
这是我到目前为止所得到的:
private void button1_Click(object sender, System.EventArgs e)
{
if ((radioButton1.Checked == true) && (radioButton2.Checked == false))
{
int sum = 0;
int number = int.Parse(numericUpDown1.Value.ToString());
for (int i = 1; i <= number; i++)
{
sum = sum + i;
MessageBox.Show("The sum of the consecutive numbers leading up to " + number + " is " + sum + ".");
}
MessageBox.Show("The sum of the consecutive numbers leading up to " + number + " is " + sum + ".");
}
else if ((radioButton2.Checked == true) && (radioButton1.Checked == false))
{
int product = 1;
int number = int.Parse(numericUpDown1.Value.ToString());
for (int i = 1; i <= number; i++)
{
product *= i;
MessageBox.Show("The factorial of the numbers leading up to " + number + " is " + product + ".");
}
MessageBox.Show("The factorial of the numbers leading up to " + number + " is " + product + ".");
}
else
{
MessageBox.Show("Invalid");
}
}
我一直收到这条消息:
“'Lab5'不包含'radioButton2.CheckedChanged'的定义,并且没有扩展方法'radioButton2.CheckChanged'接受类型为'Lab5'的第一个参数'(您是否缺少using指令或程序集引用) ?)“。
我真的不知道这意味着什么。
非常感谢任何帮助。
我想将它保存在if-else语句中只是因为我不想在选择radioButton2时弹出radioButton1的消息框。
答案 0 :(得分:1)
您可能无意中向该单选按钮添加了处理程序(例如,通过在设计器中双击它)然后将其删除。当解决方案正在构建时,它正在寻找该功能,但无法找到它。
检查Lab5.Designer.cs以查找radioButton2代码。它看起来像这样:
this.radioButton1.AutoSize = true;
this.radioButton1.Location = new System.Drawing.Point(102, 162);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(85, 17);
this.radioButton1.TabIndex = 1;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "radioButton1";
this.radioButton1.UseVisualStyleBackColor = true;
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged); /* THis is the offending line! */
最后一行是尝试添加引用不存在方法的事件处理程序。你可以在这里删除它。
此外,当程序构建时,您应该能够双击编译错误,IDE将带您到问题的根源。
答案 1 :(得分:0)
看起来像是一个功课。无论哪种方式,您都需要为事件CheckChanged的单选按钮实现处理程序。此外,如果您将这些单选按钮放在一个组中,可以检查其中任何一个,并且在checkchanged事件中,您应该填充一些functionMode或其他东西。例如,当选中RadioButton1时,你应该存储一个包含要应用哪个公式的变量,另一个应该检查你应该改变它。在按钮提交事件中,使用该变量查看当前模式并应用该公式。