RadioButton.Checked问题

时间:2013-03-01 16:33:01

标签: c# .net winforms radio-button

所以我对我的一类代码有一些问题。我知道它看起来相当基本,但对于我的生活,我不知道为什么我不能让它工作。

基本上我有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;并返回它工作正常,因此它与单选按钮

有关

谢谢

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您试图以其他形式使用变量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");
}

这样就没有变量可以跟踪,也可以从外部访问。

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