在WinForms中切换单选按钮

3

这是我正在做的事情,但由于它只是不断地来回切换,导致堆栈溢出。

    private void radioButtonA_CheckedChanged(object sender, EventArgs e)
    {
        radioButtonB.Checked = !radioButtonB.Checked;
    }

    private void radioButtonB_CheckedChanged(object sender, EventArgs e)
    {
        radioButtonA.Checked = !radioButtonA.Checked;
    }

一定有更好的方法来做这件事...

3个回答

4

你是想切换 "One" 单选按钮吗?如果是的话,我尝试过以下方法并且成功了:

将单选按钮的 AutoCheck 属性设置为 FALSE。

为单选按钮创建一个 "Click" 事件。

在单选按钮的 Click 事件处理程序中粘贴以下代码:

radioButton.Checked = !radioButton.Checked;

希望这能帮到你。


4

尝试将您的所有代码注释掉,看看是否按照您想要的方式工作。 您不必在代码中取消选中其他单选按钮。


1

在更改 Checked 值之前,您可以在代码中禁用事件,然后立即再次添加它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接