RadioButton.检查问题



所以我对我的类的这段代码有一点问题。我知道这似乎很简单,但我也不知道为什么我不能使它工作。

实际上我有6个单选按钮,根据选择的是哪一个,我想给一个int变量赋值。我想把这个值返回给另一个winForm,它会做一些其他的事情。

但是由于某些原因它总是返回0

如果你能帮助我,我将不胜感激。

谢谢你提前…

    int x = 0;
    public int selectionDie1()
    {
        if (die1_1.Checked)
            x = 1;
        if (die1_2.Checked)
            x = 2;
        if (die1_3.Checked)
            x = 3;
        if (die1_4.Checked)
            x = 4;
        if (die1_5.Checked)
            x = 5;
        if (die1_6.Checked)
            x = 6;
        return x;
    }

我还喜欢添加,即使我将其更改为没有返回值的void,并放置一个标签,将在buttonclick上显示x的值,它仍然返回0。

我甚至试过只使用一个单选按钮,看看是否有效,什么都没有。

当我设置x = 1000;返回它工作正常,所以它与单选按钮有关

谢谢

如果我理解正确,您正试图在其他形式中使用变量x。您需要使用selectionDie1函数的直接结果。

public int selectionDie1()
{
    if (die1_1.Checked)
        return 1;
    else if (die1_2.Checked)
        return 2;
    ...
    else
        throw new exception("there was no item checked");
}

这样就不需要跟踪变量,或者可以从外部位置访问。

另一个问题是,您正在创建一个表单,然后立即检查所选项目(如果您的注释是正确的)。您需要首先创建并显示表单,让用户有时间选择一个选项,然后执行这个函数调用(可能发生在用户选择、关闭表单、按下按钮等情况下)。

最新更新