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:没问题。我没有时间早些时候发布链接,请参阅此链接以了解和以及和之间区别的更多信息:你真是太棒了。我真的很感谢你。我希望你们能用你们令人敬畏的解决方案引领我走向未来。但我不知道是否有可能跟随你们或以任何其他方式与你们沟通。如果有任何可能的方法,请让我知道!!再次感谢你。