不同标签中的radiobutton保持检查状态

时间:2016-12-07 13:57:02

标签: c# radio-button

我有一个winforms app,其中有一个tabcontrol,并且在每个标签中有一些radiobuttons代码可以运行,但是有问题。 如果我转到选项卡并检查radiobutton,然后转到另一个标签并检查另一个radiobutton,则前一个按钮保持选中状态。 有没有办法每当我检查另一个选项卡上的单选按钮时,应用程序取消选中另一个选项卡上的上一个按钮? 我使用的代码是:

            if (!radioButton1.Checked && !radioButton2.Checked && !radioButton3.Checked && !radioButton4.Checked)
            {
                MessageBox.Show("Please select an option!", "Warning");
                return;
            }
            else if (radioButton1.Checked)
            {
                build build = new build("@../Images/x1.jpg", "definition", "c1");
                build.ShowDialog();
 }  
            else if (radioButton2.Checked)
            {
                build build = new build("@../Images/x2.jpg", "definition2","c2");
                build.ShowDialog();
            }

等...

提前致谢,

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你只想取消选中所有其他的radiobuttons?你可以用来取消选中它们:

radioButtonX.Checked = False;

答案 1 :(得分:0)

查看tabControl的事件。为tabPageX.Enter创建一个事件并清除其中的单选按钮(radioButtonX.Checked = false)。

真的,除非这是一个丢弃测试软件,否则我建议您研究一下像Model View Presenter这样的更复杂的架构。 (为了它的价值)。