C# 无线电按钮,检查问题

C# 无线电按钮,检查问题,c#,.net,winforms,radio-button,C#,.net,Winforms,Radio Button,所以我对我的一个类的这段代码有点问题。我知道这看起来很简单,但就我个人而言,我不知道为什么我不能让它工作 基本上,我有6个单选按钮,根据选择的单选按钮,我想给int变量赋值。我想将该值返回到另一个winForm,该winForm将执行其他操作 但由于某些原因,它总是返回0 我们将非常感谢您的帮助 先谢谢你 int x = 0; public int selectionDie1() { if (die1_1.Checked) x =

所以我对我的一个类的这段代码有点问题。我知道这看起来很简单,但就我个人而言,我不知道为什么我不能让它工作

基本上,我有6个单选按钮,根据选择的单选按钮,我想给int变量赋值。我想将该值返回到另一个winForm,该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;
    }
我还想补充一点,即使我将其更改为一个没有返回值的空白,并在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");
}
这样就没有变量可跟踪,或者可以从外部位置访问


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

您能告诉我们您是如何设置单选按钮的吗?代码按发布的方式工作。问题出在别处。您可能应该将
int x
放在selectionDiel函数中。调用
seelctionDie1()
的时间(和地点)是什么时候?您是否有事件处理程序?这将不起作用。您创建了一个“新”表单,其中可能尚未选择任何单选按钮。您必须引用已显示的表单。