单选按钮更改警告消息

时间:2012-12-08 15:23:01

标签: c# radio-button

您好我有两个单选按钮。一男一女。问题是当检查其中一个(例如男性)并且用户试图改变到另一个(女性)时,我向用户显示警告消息。如果他按下确定,从女性变为男性,一切都可以。但当他按下取消时,无线电按钮也会从女性变为男性。我怎么能阻止这个?是否有任何方法可以禁用radiobutton_checked侦听器并在需要时启用?
男性和女性听众的代码是下一个:

private void NewTrdButtonMale_Checked(object sender, RoutedEventArgs e)
    {
//if there are participants for deletion i display a warning message that says that if you change from female to male the deletion will be done
        if (newAreParticipantsForDeletion())
        {
            switch (warningMessage())
            {
                case "OK":
                    //nothing useful for you here
                    break;
                case "Cancel":
                    break;
            }
        }
        else
        {
            //nothing interesting here
        }

    }

    private void NewTrdButtonFemale_Checked(object sender, RoutedEventArgs e)
    {
        //it is the same code as the above but it is for female
    }

上述方法是无线电按钮的监听器。我想要做的是,如果用户按下取消,则不做任何改变。但这是困难的部分,因为我已经在男性检查听众中,所以已经完成了改变。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我必须将下一个代码放到取消选择中。

NewTrdButtonFemale.Checked -= new RoutedEventHandler(NewTrdButtonFemale_Checked);
                    NewTrdButtonFemale.IsChecked = true;
                    NewTrdButtonFemale.Checked += new RoutedEventHandler(NewTrdButtonFemale_Checked);

上面的代码禁用了监听器。之后我恢复女性选择,之后我再次启用了听众。