2012-08-07 54 views
14

我想知道如何编写if语句以查看是否选中了一个或另一个复选框。如果语句为复选框

我有两个复选框。我希望它检查复选框1是否被选中,复选框2是否为空然后调用该函数,如果复选框2被选中并且复选框1为空,则调用另一个函数。

非常糟糕的if语句和不知道如何将复选框转换为可读值。

+0

你可以添加代码吗? – 2012-08-07 16:10:18

+1

你真的打算'空',还是你想'假'?一个复选框可以有3个状态,其中一个可以是'null'。 – 2012-08-07 16:10:20

+0

我不确定。这三个州是什么?我以为只能有两个。所以通过null我暗示没有检查。 – user1512593 2012-08-07 16:21:38

回答

23

我在做一个假设,你的意思是不检查。我没有一个C#编译器方便,但:

if (checkbox1.Checked && !checkbox2.Checked) 
{ 

} 
else if (!checkbox1.Checked && checkbox2.Checked) 
{ 

} 
+0

谢谢!完美工作 – user1512593 2012-08-07 16:35:20

3

你要使用checkbox1.checked财产在你的if语句,返回true或false取决于天气,检查与否。

1

在VB.Net

If Check1.checked and Not (Check2.checked) Then 

ElseIf Check2.Checked and not Check1.Checked then 

End If 
2

我简化了科幻的答案,我认为是使用异或功能,所以你可以有:

if(checkbox1.checked^checkbox2.checked) 
{ 
//do stuff 
} 

这是假设你想要做的两种情况都是一样的。

1
private void checkBox1_CheckedChanged(object sender, EventArgs e) 
{ 
    if (checkBoxImage.Checked) 
    { 
     groupBoxImage.Show(); 
    } 
    else if (!checkBoxImage.Checked) 
    { 
     groupBoxImage.Hide(); 
    } 
}