【问题标题】:How to show message if none of radio button selected in c# windows application如果在 c# windows 应用程序中没有选择单选按钮,如何显示消息
【发布时间】:2017-04-20 18:30:27
【问题描述】:

我比较新鲜,我正在尝试实现性别属性逻辑。我有三个单选按钮 男性,女性和其他人。如果我没有选择任何单选按钮,它应该会向我抛出一条错误消息。第一次它给出消息但第二次即使我选择单选按钮它也显示相同的消息。请帮助我。提前致谢。

这是我的代码。

 private void btnadd_Click(object sender, EventArgs e)
    {
       else if (!rbmale.Checked || !rbfemale.Checked || !rbothers.Checked)
        {
            MessageBox.Show("Please select gender ", "Error");
            return;

        }

【问题讨论】:

  • 你为什么在没有其他条件的情况下使用else if?当然你只是想要if

标签: c# asp.net winforms


【解决方案1】:

您检查它的方式错误,因此请为您想要的输出考虑这个正确的逻辑。

private void btnadd_Click(object sender, EventArgs e)
{
   if (!rbmale.Checked && !rbfemale.Checked && !rbothers.Checked)
    {
        MessageBox.Show("Please select gender ", "Error");
        return;

    }

像这样写

!rbmale.Checked || !rbfemale.Checked || !rbothers.Checked

您正在检查是否应检查所有单选按钮,因此即使您检查任何一个单选按钮,它每次都会向您显示错误 单选按钮。

您应该检查,如果它们都没有被检查,那么只有它应该给您错误消息,并且它是此类功能的正确逻辑。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    应该是这样的

    !rbmale.Checked && !rbfemale.Checked && !rbothers.Checked
    

    【讨论】:

      【解决方案3】:

      你也可以写类似

      if (!(rbmale.Checked || rbfemale.Checked || rbothers.Checked))
      {
      }
      

      【讨论】:

      • 考虑检查我的答案。您会在 OP 的问题中遇到实际问题。他所做的没有错,但OP的实际逻辑是错误的。 :)
      • 感谢您的回复
      【解决方案4】:

      猜测 Chirag 有您正在寻找的答案,但有很多方法可以检查所有值是否为假。以下是一些替代方案:

      if (!rbmale.Checked & !rbfemale.Checked & !rbothers.Checked)
      {
      }
      
      if (new[] {rbmale.Checked,rbfemale.Checked,rbothers.Checked}.All(x => !x))
      {
      }
      
      if (!rbmale.Checked || !rbfemale.Checked || !rbothers.Checked)
      {      
      
      }
      else
      {
          MessageBox.Show("Please select gender ", "Error");
          return;
      }
      

      【讨论】:

        猜你喜欢
        • 2013-01-13
        • 2020-11-05
        • 2023-03-21
        • 2012-09-26
        • 1970-01-01
        • 2019-07-10
        • 1970-01-01
        • 2015-08-16
        • 2018-03-29
        相关资源
        最近更新 更多