我有2个单选按钮,可以生成两种不同颜色的矩形,这意味着,当用户选择单选按钮时,它应该生成一个红色矩形,如果用户选择单选按钮二,它应该创建一个蓝色彩色矩形。
我的问题是在选择一个单选按钮(创建矩形)后如果用户选择单选按钮2它会创建另一个红色矩形,然后是蓝色矩形(这是正确的),但问题是当用户选择2它不应该创建另一个红色矩形。 我想取消检查有问题,但我找不到合适的解决方案。 以下是我为单选按钮所做的事情: -
private void rbOne_CheckedChanged(object sender, EventArgs e)
{
if (rbOne.Checked)
{
status = rbOne.Text;
buff.write(Color.Red, status);
}
}
private void rbTwo_CheckedChanged(object sender, EventArgs e)
{
if (rbTwo.Checked)
{
status = rbTwo.Text;
buff.write(Color.Blue, status);
}
}
这里似乎有什么问题?
感谢您的时间。
答案 0 :(得分:1)
您必须检查单选按钮检查更改事件中的单选按钮选择,并且需要先取消选中另一个。看看这里
private void rbOne_CheckedChanged(object sender, EventArgs e)
{
if (rbTwo.Checked)
{
// make it uncheck and remove the red rectangle
}
{
if (rbOne.Checked)
{
status = rbOne.Text;
buff.write(Color.Red, status);
}
}
private void rbTwo_CheckedChanged(object sender, EventArgs e)
{
if (rbOne.Checked)
{
// make it uncheck and remove the blue rectangle
}
if (rbTwo.Checked)
{
status = rbTwo.Text;
buff.write(Color.Blue, status);
}
}
或者您可以先检查单选按钮选中属性,如果选中了一个,则不要创建另一个矩形。