1

我对谷歌查询的代码感到沮丧,所以我只会问你们所有的专家。

我有一个 <500 行的程序,它在树中列出了 clearcase 中的文件,现在我想单击它们并将它们签入/签出。我可以通过命令行或插件完成的结帐部分(::whew:: clearcase 不容易编程)无论如何我必须勾选一个用于签入一个用于结帐,如果两者都没有被选中(都是错误的)我希望它通知用户。我有以下代码,它可以工作......除了它总是显示“未选择”消息,因为一个标志总是错误的。

if (checkBox1.checked == true
{
   MessageBox.Show("this")
}
if (checkBox2.checked == true 
{
   MessageBox.Show("THAT")
}
if (checkbox1.checked == false | checkbox2.checked == false)
{
   MessageBox.show("You didn't select this or THAT")
}

在第一个选择之后它总是说“那个”或“这个”然后“你没有选择这个或那个”

我还设置了复选框,这样当您选中一个时,它会取消选中另一个,但两者都可能是错误的。

4

5 回答 5

6

您想检查它们是否都是错误的,这是通过逻辑 AND 完成的。竖线表示 OR 条件。

if (checkbox1.checked == false && checkbox2.checked == false)
{
    MessageBox.show("You didn't select this or THAT")
}

那应该做你正在寻找的。

于 2012-04-03T20:11:47.653 回答
1

关于什么

(checkbox1.checked == false & checkbox2.checked == false)

垂直线是 OR 而 & 符号是 AND

于 2012-04-03T20:15:32.923 回答
1

尝试

if (checkBox1.checked == true)
{ 
    MessageBox.Show("this") 
} 
else if (checkBox2.checked == true)
{ 
    MessageBox.Show("THAT") 
} 
else 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 

或更好:

if (checkBox1.checked)
{ 
    MessageBox.Show("this") 
} 
else if (checkBox2.checked)
{ 
    MessageBox.Show("THAT") 
} 
else 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 
于 2012-04-03T20:11:44.700 回答
1

使用 if-else 语句而不仅仅是 if 语句。这样它将在执行第一条语句后停止。

于 2012-04-03T20:12:08.107 回答
1
if (checkBox1.checked)
{
   MessageBox.Show("this")
}
else if (checkBox2.checked)
{
   MessageBox.Show("THAT")
}
else
{
   MessageBox.show("You didn't select this or THAT")
}
于 2012-04-03T20:12:27.470 回答