在计算器中使用单选按钮

时间:2014-10-11 10:15:56

标签: c#

我真的是C#的新手。我已经试了好几天了解如何在我的计算器中使用单选按钮。我正在制作一个可以选择单选按钮的计算器。

我已经尝试了从教程到教科书的所有内容。

希望你能帮助我。

这是我失败的代码之一

namespace Calculator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int x,
                y;

            x = Convert.ToInt16(textBox1.Text);
            y = Convert.ToInt16(textBox2.Text);

            if (radioButton1.Checked) ;

            Math.Pow(x,y);

            if (radioButton2.Checked) ;
            (x / y);

            if (radioButton3.Cheked) ; 

        }
    }
}

在这种情况下,我总是得到错误

  

错误1只能将赋值,调用,递增,递减和新对象表达式用作语句

我真的不知道该怎么做。

5 个答案:

答案 0 :(得分:0)

你应该将计算结果分配给某个变量

private void button1_Click(object sender, EventArgs e)
{
    double result;
    int x, y;

    x = Convert.ToInt16(textBox1.Text);
    y = Convert.ToInt16(textBox2.Text);

    if (radioButton1.Checked)
        result = Math.Pow(x,y);

    if (radioButton2.Checked)
       result = (x / y);

    //...

}

答案 1 :(得分:0)

您需要将结果分配给某个变量或文本框(如果有的话):

txtboxResult.Text = Math.Pow(x,y).ToString();

实际上有很多问题。

private void button1_Click(object sender, EventArgs e)
{
    int x,
        y;

    x = Convert.ToInt16(textBox1.Text);
    y = Convert.ToInt16(textBox2.Text);

    if (radioButton1.IsChecked)    //removed `;`, it refers to the empty if block and 'IsChecked' is a property not 'Checked'
        txtboxResult.Text = Math.Pow(x,y).ToString();    //assign result to a textbox or may be a variable

    if (radioButton2.IsChecked)    //removed `;`
        (x / y);

    if (radioButton3.IsChecked) ; 
}

答案 2 :(得分:0)

Checked是一个事件,而不是一个属性(选中单选按钮时触发的事件)。该属性为IsChecked

if(radioButton1.IsChecked.GetValueOrDefault(false))
    ...

答案 3 :(得分:0)

我认为错误发生在本声明中

if (radioButton2.IsChecked)
        (x / y);

应该是这样的

if (radioButton2.IsChecked)
{
    txtboxResult.Text = Convert.toString(x / y);
}

答案 4 :(得分:0)

将结果填充到另一个文本框中,如下所示。

    int x,y;

    double res = 0.0;

    x = Convert.ToInt16(textBox1.Text);
    y = Convert.ToInt16(textBox2.Text);

    if (radioButton1.Checked)

        res = Math.Pow(x, y);

    if (radioButton2.Checked)
        res = (x / y);

    if (radioButton3.Checked) ;

    textBox3.Text = res.ToString();