当我在项目中添加此代码时,逻辑不会给出预期的输出
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
逻辑,它将像我的下一个逻辑
答案 0 :(得分:2)
如果您希望第一个块像第二个块一样工作,但检查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
- 声明 ,不用 进行额外的,不必要的检查。