如何检查单选按钮是否已切换并在切换中执行某些操作?这是我的代码的一部分:
这是我的班级Person.cs
public enum TypeTimer { Unlimited, Countdown, Limited}
这是我的开关,我将把功能
public Person(TypeTimer s1)
{
switch (s1)
{
case TypeTimer.Unlimited:
(code here)
break;
case TypeTimer.Countdown:
(code here)
break;
case TypeTimer.Limited:
(code here)
break;
default:
break;
}
}
如何判断check == true是否等于枚举限制或无限制或倒计时?
这是在Form.cs
中private void button1_Click(object sender, EventArgs e)
{
if (rbtnNormalTimer.Checked == true)
{
}
else if(rbtnCountDown.Checked == true)
{
}
else if(rbtnLimited.Checked == true)
{
}
}
例如:如果选中rbtnLimited,我想在TypeTimer.Limited中执行交换机内部的代码 有人可以帮助我吗?
答案 0 :(得分:3)
您可以使用适当的枚举调用person方法/构造函数,如下所示:
private void button1_Click(object sender, EventArgs e)
{
if (rbtnNormalTimer.Checked == true)
{
Person(TypeTimer.Unlimited);
}
else if(rbtnCountDown.Checked == true)
{
Person(TypeTimer.Countdown);
}
else if(rbtnLimited.Checked == true)
{
Person(TypeTimer.Limited);
}
}
在构造函数的情况下使用它如下:
Person person;
if (rbtnNormalTimer.Checked == true)
{
person = new Person(TypeTimer.Unlimited);
}
else if(rbtnCountDown.Checked == true)
{
person = new Person(TypeTimer.Countdown);
}
else if(rbtnLimited.Checked == true)
{
person = new Person(TypeTimer.Limited);
}
答案 1 :(得分:0)
希望public Person(TypeTimer s1)
将成为Person
类的构造函数,并且您希望根据单选按钮的选择创建一个新的person对象,以下代码将帮助您完成工作;如果不是那么你可以像Person(TypeTimer.Unlimited)
那样直接调用方法,这次不要忘记在方法签名中添加一个有效的返回类型:
private void button1_Click(object sender, EventArgs e)
{
Person p;
if (rbtnNormalTimer.Checked)
{
p= new Person(TypeTimer.Unlimited)
}
else if (rbtnCountDown.Checked)
{
p= new Person(TypeTimer.Countdown)
}
else if (rbtnLimited.Checked)
{
p= new Person(TypeTimer.Limited)
}
// proceed with p
}
答案 2 :(得分:0)
我通常使用控件的tag属性。检查一个控件后,我得到它的标签属性并使其成为像
一样的smthTypeTimer enu;
Enum.TryParse((sender as RadioButton).Tag, out enu);
Switch(enu)
{
case TypeTimer.Unlimited:
(code here)
break;
case TypeTimer.Countdown:
(code here)
break;
case TypeTimer.Limited:
(code here)
break;
default:
break;
}