【问题标题】:Radio buttons change warning message单选按钮更改警告消息
【发布时间】:2023-03-26 15:07:02
【问题描述】:

您好,我有两个单选按钮。一男一女。问题是,当其中一个被选中(例如男性)并且用户尝试更改为另一个(女性)时,我会向用户显示警告消息。如果他按下确定, 从女性变为男性,一切正常。但是当他按下取消按钮时,单选按钮也会从女性变为男性。我怎样才能防止这种情况?有什么方法可以禁用 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
    }

上述方法是单选按钮的侦听器。我想要做的是,如果用户按下取消,则无需进行任何更改。但这是困难的部分,因为我已经在男性检查的听众里面,所以改变已经完成。

【问题讨论】:

  • 能否请您发布您的代码?
  • 抱歉,我发布了它,但我不确定它是否非常有用。它是 wpf。

标签: radio-button c# radio-button


【解决方案1】:

我找到了解决办法。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    相关资源
    最近更新 更多