最近在看别人的代码发现如下语句:ElseIf Not (MaleButton.Checked Xor FemaleButton.Checked) Then
            MsgBox("Please Select Your Gender!!!")其中MaleButton和FemaleButton都是属于radiobutton,主要是判断这个两个radiobutton是否有为空,但是我的疑惑是假如2个raddiobutton都为空那么MaleButton.Checked=FALSE并且FemaleButton.Checked=FALSE,而FALSE Xor FALSE=FALSE,Not false =true,这样的结果就为true,那这样怎么能判断为空呢,希望大家解释一下!!

解决方案 »

  1.   

    一、xor运算结算如下:
    关系式1 关系式2 结果
    True True False 
    True False True 
    False True True 
    False False False 
    二、两radiobutton最好为一组,这样就不可能同时选中两个,该代码有些问题,但没有影响到结果。三、正如你分析的那样,not(false xor false)=true 即条件成立,自然是两个都没有选了。另外,通过Xor的运算我们得知两者都为真时,也判定为条件成立。
      

  2.   

    一、xor运算结算如下:
    关系式1 关系式2 结果
    True True False 
    True False True 
    False True True 
    False False False 
    二、两radiobutton最好为一组,这样就不可能同时选中两个,该代码有些问题,但没有影响到结果。三、正如你分析的那样,not(false xor false)=true 即条件成立,自然是两个都没有选了。另外,通过Xor的运算我们得知两者都为真时,也判定为条件成立。