【问题标题】:IF statement ain't working with multiple OR operators in IF conditionIF 语句不适用于 IF 条件下的多个 OR 运算符
【发布时间】:2015-01-17 08:51:20
【问题描述】:
private void button1_Click(object sender, EventArgs e)
{

    if (radioButton1.Checked || radioButton2.Checked || radioButton3.Checked)
    {

        Form3 objd = new Form3(tp, m, l);
        objd.Show();
        this.Hide();
    }
    else if (!radioButton3.Checked && !radioButton2.Checked && !radioButton1.Checked)
    {
        MessageBox.Show("Please select any class");
    }
}

我在按钮单击事件中有这些 if 语句,当它的调试和单选按钮之一被选中时,即使消息框显示它没有显示表单 3 我想知道“||”可能有问题或运算符

【问题讨论】:

  • || 的问题非常不太可能:首先在调试器中检查三个按钮的 Checked 属性的值(或通过记录)。
  • 正是这个^。您绝对不会发现核心语言运算符有问题。

标签: c# if-statement radio-button logical-operators


【解决方案1】:

添加日志\跟踪点(右键插入跟踪点使用{要打印到屏幕的成员})与每个条件部分的评估结果 以及之后的整个条件结果。 我相信答案会自行揭晓:)。

【讨论】:

    【解决方案2】:

    我试过你的代码,它对我来说很好用

    替换

    Form3 objd = new Form3(tp, m, l);
    

    Form objd=new Form();
    

    最好添加断点然后运行

    【讨论】:

    • 其实我不知道,但是每当我剪切并粘贴第一个 if 语句并进行调试时,它都可以工作,但后来它总是显示消息框太奇怪了,我几乎花了一整天的时间来解决它,仍然没有找到任何解决方案
    • @AliAhmed 替换 Form3 objd = new Form3(tp, m, l);使用表单 objd=new Form();然后检查是不是很好
    猜你喜欢
    • 2022-06-28
    • 2021-06-20
    • 2011-01-13
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-12-26
    • 1970-01-01
    相关资源
    最近更新 更多