0

所以我对我的一类的这段代码有一些问题。我知道这似乎相当初级,但对于我的生活,我不确定为什么我不能让它工作。

本质上,我有 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; 并返回它工作正常,所以它与单选按钮有关

谢谢你

4

1 回答 1

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");
}

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

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

于 2013-03-01T19:15:04.927 回答