C#中的RadioButton和CheckBox的使用
privatevoidbutton2_Click(objectsender,System.EventArgse){if(this.checkBox1.Checked){M...
private void button2_Click(object sender, System.EventArgs e)
{
if(this.checkBox1.Checked)
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
if(this.checkBox2.Checked)
//else
{
MessageBox.Show("二选中 三将选");
this.checkBox3.CheckState = CheckState.Checked;
return;
}
if(this.checkBox3.Checked)
{
MessageBox.Show("三选中 四将选");
this.checkBox4.CheckState = CheckState.Checked;
return;
}
this.checkBox1.CheckState = CheckState.Checked;
}
private void button3_Click(object sender, System.EventArgs e)
{
if(this.radioButton1.Checked)
{
this.radioButton2.Select();
return;
}
if(this.radioButton2.Checked)
{
this.radioButton3.Select();
return;
}
if(this.radioButton3.Checked)
{
this.radioButton4.Select();
return;
}
this.radioButton1.Select();
}
这两段代码分别是触发单选按钮和复选按钮的事件代码
现在要实现:点击一个button,如果第一个复选按钮被选中那么将选中第二个,再点击button,判断第二个是否选中,如果选中则第三个也选中,依此类推。但是现在前两个能选中,不管如何点击,第三个不会被选中,如果去掉第一个if中的return,结果是第二个和第三个同时选中。
要怎样实现我所要的功能?请C#的高手帮帮忙!!! 展开
{
if(this.checkBox1.Checked)
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
if(this.checkBox2.Checked)
//else
{
MessageBox.Show("二选中 三将选");
this.checkBox3.CheckState = CheckState.Checked;
return;
}
if(this.checkBox3.Checked)
{
MessageBox.Show("三选中 四将选");
this.checkBox4.CheckState = CheckState.Checked;
return;
}
this.checkBox1.CheckState = CheckState.Checked;
}
private void button3_Click(object sender, System.EventArgs e)
{
if(this.radioButton1.Checked)
{
this.radioButton2.Select();
return;
}
if(this.radioButton2.Checked)
{
this.radioButton3.Select();
return;
}
if(this.radioButton3.Checked)
{
this.radioButton4.Select();
return;
}
this.radioButton1.Select();
}
这两段代码分别是触发单选按钮和复选按钮的事件代码
现在要实现:点击一个button,如果第一个复选按钮被选中那么将选中第二个,再点击button,判断第二个是否选中,如果选中则第三个也选中,依此类推。但是现在前两个能选中,不管如何点击,第三个不会被选中,如果去掉第一个if中的return,结果是第二个和第三个同时选中。
要怎样实现我所要的功能?请C#的高手帮帮忙!!! 展开
3个回答
展开全部
你用的方法不合理,如果第1个和第2个同时被选中的话代码只会执行
if(this.checkBox1.Checked)
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
这就是为什么不管如何点击,第三个不会被选中的原因。
改成:
private void button2_Click(object sender, System.EventArgs e)
{
if(this.checkBox1.Checked && (!this.checkBox2.Checked))
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
if(this.checkBox2.Checked(!this.checkBox3.Checked))
//else
{
MessageBox.Show("二选中 三将选");
this.checkBox3.CheckState = CheckState.Checked;
return;
}
if(this.checkBox3.Checked)
{
MessageBox.Show("三选中 四将选");
this.checkBox4.CheckState = CheckState.Checked;
return;
}
this.checkBox1.CheckState = CheckState.Checked;
}
if(this.checkBox1.Checked)
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
这就是为什么不管如何点击,第三个不会被选中的原因。
改成:
private void button2_Click(object sender, System.EventArgs e)
{
if(this.checkBox1.Checked && (!this.checkBox2.Checked))
{
MessageBox.Show("一选中 二将选");
this.checkBox2.CheckState = CheckState.Checked;
return;
}
if(this.checkBox2.Checked(!this.checkBox3.Checked))
//else
{
MessageBox.Show("二选中 三将选");
this.checkBox3.CheckState = CheckState.Checked;
return;
}
if(this.checkBox3.Checked)
{
MessageBox.Show("三选中 四将选");
this.checkBox4.CheckState = CheckState.Checked;
return;
}
this.checkBox1.CheckState = CheckState.Checked;
}
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单选和复选
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询