如果有复选框和字符串



有人能帮我弄清楚我做错了什么吗?我已经尝试了很多方法,但无法让它在所有情况下同时工作。

我们的符号设备有多个固件版本,这会导致设备中的无线网卡出现问题。如果固件版本为86.09.0000,则可以正常工作。如果固件版本为"01.09.000",则会导致问题,因此我让它转储带有出厂固件的cab文件并重新启动设备。

感谢帮助,下面是工作代码。

if (checkBox1.Checked && myString == "86.09.0000")
        {
         //check box checked and correct string

        }
        else if ((checkBox1.Checked == false) && (myString == "86.09.0000"))
        {
         //check box not checked and correct string
        }
        else
            {
               // string doesn't match
            }

我想你的意思是如果myString不是86.09.0000…你的最后一个else是否在错误的if语句中?

        if (checkBox1.Checked && myString == "86.09.0000")
        {
            wipefiles();
        }
        else if ((checkBox1.Checked == false) && (myString == "86.09.0000"))
        {
            if (myThread == null)
            {
                label4.Visible = false;
                pictureBox1.Enabled = false;
                SystemIdleTimerReset();
                menuItem1.Enabled = false;
                myThread = new Thread(MyWorkerThread);
                myThread.IsBackground = true;
                myThread.Start();
            }
        }
        else
            {
                MessageBox.Show("Install firmware");
            }

这可能是你想要完成的吗?

Private void menuItem1_Click(object sender, EventArgs e)
{
    String oemVersion = oemver.getOEMVersion();
    String myVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
    if (myVersion.Equals(oemVersion))
    {
        if (checkBox1.Checked)
            wipefiles();
        else
        {
            if (myThread == null)
            {
                label4.Visible = false;
                pictureBox1.Enabled = false;
                SystemIdleTimerReset();
                menuItem1.Enabled = false;
                myThread = new Thread(MyWorkerThread);
                myThread.IsBackground = true;
                myThread.Start();
            }
        }
    }
    else
    {
        MessageBox.Show("Install firmware");
    }
}

只需在if语句中添加另一个"OR" ||条件。见下文

if (checkBox1.Checked && (myString == "86.09.0000"***||myString="01.09.000"***))
        {
            wipefiles();
        }
        else if ((checkBox1.Checked == false) && (myString == "86.09.0000"***||myString="01.09.000"***))
        {
            if (myThread == null)
            {
                label4.Visible = false;
                pictureBox1.Enabled = false;
                SystemIdleTimerReset();
                menuItem1.Enabled = false;
                myThread = new Thread(MyWorkerThread);
                myThread.IsBackground = true;
                myThread.Start();
            }
        }
        else
            {
                MessageBox.Show("Install firmware");
            }

现在它对你有用了!但这并不好,因为它可能会有很多"OR"状态。所以请从代码运行时分配mystring值!

相关内容

  • 没有找到相关文章

最新更新