VB.net 逻辑没有给出预期的输出

  • 本文关键字:输出 net VB 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_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 语句中,而不必进行额外的、不必要的检查。

最新更新