所以我对我的类的这段代码有一点问题。我知道这似乎很简单,但我也不知道为什么我不能使它工作。
实际上我有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");
}
这样就不需要跟踪变量,或者可以从外部位置访问。
另一个问题是,您正在创建一个表单,然后立即检查所选项目(如果您的注释是正确的)。您需要首先创建并显示表单,让用户有时间选择一个选项,然后执行这个函数调用(可能发生在用户选择、关闭表单、按下按钮等情况下)。