我有3个单选按钮,它们都保存在一个分组框中(因此一次只能标记1个)。我的代码可以正常工作,但是为了更快地更新标签,我希望在选择新的radioButton时停止两次调用该函数。

例如,在下面的代码中,默认设置为rb1,然后单击rb2,则rb1 CheckedChanged事件将触发并更新标签,然后rb2的CheckedChanged Event将触发并再次更新标签(相同值)。

如果标签已被更新一次,然后停止再次调用该函数,那么向其中添加一些额外条件的最佳方法是什么?

码:

private void rb1_CheckedChanged(object sender, EventArgs e)
    {
        if (cmbLetterType.Text.Length != 0)
        {
            updatePrintedCntLabel();
        }
    }

private void rb2_CheckedChanged(object sender, EventArgs e)
{
    if (cmbLetterType.Text.Length != 0)
    {
        updatePrintedCntLabel();
    }
}

private void rb3_CheckedChanged(object sender, EventArgs e)
{
    if (cmbLetterType.Text.Length != 0)
    {
        updatePrintedCntLabel();
    }
}


编辑:澄清一下,这是我正在使用的C#Winforms应用程序。

最佳答案

将您的条件更改为:

if (cmbLetterType.Text.Length != 0 && rb1.Checked)


还要对其他2个处理程序执行此操作(使用rb2.Checked和rb3.Checked),每个处理程序仅在被检查而不是未检查的情况下才会触发。

10-04 16:54