C# 单选按钮选择和取消选中
我有两个单选按钮,假设它们生成两种不同颜色的矩形,简单地说,当用户选择单选按钮1时,它应该生成一个红色矩形,如果用户选择单选按钮2,它应该创建一个蓝色矩形 我的问题是在选择单选按钮1(矩形被创建)之后,如果用户选择单选按钮2,它将创建另一个红色矩形,然后创建一个蓝色矩形(这是正确的),但问题是当用户选择2时,它不应该创建另一个红色矩形。 我想取消勾选可能有问题,但我找不到合适的解决方案。 以下是我对单选按钮所做的操作:-C# 单选按钮选择和取消选中,c#,winforms,radio-button,radiobuttonlist,C#,Winforms,Radio Button,Radiobuttonlist,我有两个单选按钮,假设它们生成两种不同颜色的矩形,简单地说,当用户选择单选按钮1时,它应该生成一个红色矩形,如果用户选择单选按钮2,它应该创建一个蓝色矩形 我的问题是在选择单选按钮1(矩形被创建)之后,如果用户选择单选按钮2,它将创建另一个红色矩形,然后创建一个蓝色矩形(这是正确的),但问题是当用户选择2时,它不应该创建另一个红色矩形。 我想取消勾选可能有问题,但我找不到合适的解决方案。 以下是我对单选按钮所做的操作:- private void rbOne_CheckedChanged
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);
}
}
这里有什么问题吗
谢谢您的时间。您必须在单选按钮检查更改事件中检查单选按钮选择,并且需要先取消检查另一个单选按钮。看看这里
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);
}
}
或者,您可以先检查每个矩形的单选按钮checked属性(如果选中了一个),然后不创建另一个矩形