【问题标题】:Radio button Selection and Unchecking单选按钮选择和取消选中
【发布时间】:2013-10-01 21:08:15
【问题描述】:

我有 2 个单选按钮,它们假设生成一个具有两种不同颜色的矩形,简单来说,当用户选择单选按钮 1 时,它应该生成一个红色矩形,如果用户选择单选按钮 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);
        }
    } 

这里似乎有什么问题?

感谢您的宝贵时间。

【问题讨论】:

    标签: c# winforms radio-button radiobuttonlist


    【解决方案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);
        }
    } 
    

    或者您可以先检查每个单选按钮的已检查属性,如果已选中,则不要创建另一个矩形。

    【讨论】:

      猜你喜欢
      • 2016-05-25
      • 1970-01-01
      • 2012-02-21
      • 2011-07-17
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多