当我在项目中添加此代码时,逻辑没有给出预期的输出
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
但是我想在我的代码中实现该And
逻辑,它将像我的下一个逻辑一样工作
如果您希望第一个块像第二个块一样工作,但检查cbmPassportCountry.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
您不能将其放在一个 If
语句中,而不必进行额外的、不必要的检查。