Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net逻辑未给出预期的输出_Vb.net - Fatal编程技术网

VB.net逻辑未给出预期的输出

VB.net逻辑未给出预期的输出,vb.net,Vb.net,当我在我的项目中添加这段代码时,逻辑并没有给出预期的输出 If e.KeyCode = Keys.Enter And cbmPassportCountry.Text.Trim() <> "" Then SendKeys.Send("{tab}") Else If btnSave.Enabled = True Then btnSave.Focus() End If End If Private Sub cbmPassportCountry_Ke

当我在我的项目中添加这段代码时,逻辑并没有给出预期的输出

If e.KeyCode = Keys.Enter And cbmPassportCountry.Text.Trim() <> "" Then
    SendKeys.Send("{tab}")
Else
    If btnSave.Enabled = True Then
        btnSave.Focus()
    End If
End If
Private Sub cbmPassportCountry_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cbmPassportCountry.KeyDown
    'If e.KeyCode = Keys.Enter And cbmPassportCountry.Text.Trim() <> "" Then
    If e.KeyCode = Keys.Enter Then
        If btnSave.Enabled = True Then
            btnSave.Focus()
        Else
            SendKeys.Send("{tab}")
        End If
    End If
End Sub
如果e.KeyCode=Keys.Enter并输入cbmportcountry.Text.Trim()”,则
SendKeys.Send(“{tab}”)
其他的
如果btnSave.Enabled=True,则
btnSave.Focus()
如果结束
如果结束
如果我使用这个逻辑,那么我的代码将给出预期的输出

If e.KeyCode = Keys.Enter And cbmPassportCountry.Text.Trim() <> "" Then
    SendKeys.Send("{tab}")
Else
    If btnSave.Enabled = True Then
        btnSave.Focus()
    End If
End If
Private Sub cbmPassportCountry_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cbmPassportCountry.KeyDown
    'If e.KeyCode = Keys.Enter And cbmPassportCountry.Text.Trim() <> "" Then
    If e.KeyCode = Keys.Enter Then
        If btnSave.Enabled = True Then
            btnSave.Focus()
        Else
            SendKeys.Send("{tab}")
        End If
    End If
End Sub
Private Sub CBMPassortCountry_KeyDown(ByVal发送方作为System.Object,ByVal e作为System.Windows.Forms.KeyEventArgs)处理CBMPassortCountry.KeyDown
'如果e.KeyCode=Keys.Enter并输入cbmportcountry.Text.Trim()'',则
如果e.KeyCode=Keys,则输入
如果btnSave.Enabled=True,则
btnSave.Focus()
其他的
SendKeys.Send(“{tab}”)
如果结束
如果结束
端接头

但是我想在我的代码中实现
逻辑,它将像我的下一个逻辑一样工作

如果你想让你的第一个块像第二个一样工作,但是检查
CBMPassortCountry.Text
不是空的,你为什么不把它添加到你的第二个语句中呢

If e.KeyCode = Keys.Enter AndAlso cbmPassportCountry.Text.Trim() <> "" Then
    If btnSave.Enabled = True Then
        btnSave.Focus()
    Else
        SendKeys.Send("{tab}")
    End If
End If
如果e.KeyCode=Keys.Enter并输入cbmspassportcountry.Text.Trim()”,则
如果btnSave.Enabled=True,则
btnSave.Focus()
其他的
SendKeys.Send(“{tab}”)
如果结束
如果结束

你不能把它放在一个
If
-语句中,而不必进行额外的、不必要的检查。

你说它不起作用这意味着什么?@Mederic当我添加该逻辑而不是嵌套的If逻辑时,我的代码就不起作用了。但当注释掉我的AND逻辑并使用嵌套逻辑时,这段代码运行良好,您仍然不明白:不工作意味着什么!你有错误吗?还是警告?或者代码没有执行?@Mederic我的代码正在运行,但我没有得到预期的输出,例如如果条件满足,我想启用选项卡,否则else条件将起作用。@Visual Vincent 100%同意您的最后一条评论。Yap。现在我得到了预期的输出。非常感谢你的帮助。我完全不知道这个AndAlso关键字。在我的逻辑中,我使用了And,这并没有给出预期的doutput,但AndAlso也在工作fine@TazbirulHaque:
而且在这种情况下也没有什么不同。使用它会更好,这就是为什么我选择了它,但它不会影响结果。改变的是您必须使用嵌套的
If
s,否则您必须检查
e.KeyCode
两次,这是完全不必要的。我是vb.net新手,这就是为什么我不熟悉这种逻辑。再次感谢您的热情帮助。@TazbirulHaque:没问题。我没有时间早些时候发布链接,请参阅此链接以了解
以及
之间区别的更多信息:你真是太棒了。我真的很感谢你。我希望你们能用你们令人敬畏的解决方案引领我走向未来。但我不知道是否有可能跟随你们或以任何其他方式与你们沟通。如果有任何可能的方法,请让我知道!!再次感谢你。