VB.net Combobox或Textbox null或为空

时间:2015-05-18 10:00:43

标签: vb.net combobox textbox

出于某种原因,以下查询似乎无效。任何人都可以告诉它为什么表现与我的期望不同。

基本上,如果所声明的combobox.text或textbox.text都是空白,则应显示一条消息。如果选择其中一个,则显示当前日期时间。

If String.IsNullOrEmpty(lbx_Aux_Codes.Text) OrElse String.IsNullOrEmpty(com_Work_Item.Text) Then

    MessageBox.Show("Please Select a Task or Work Item")

Else

    StartTime = DateTimeLog()
    MessageBox.Show(StartTime)

End If

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

OrElse更改为AndAlso

您的代码应如下所示

  If String.IsNullOrEmpty(lbx_Aux_Codes.Text) AndAlso String.IsNullOrEmpty(com_Work_Item.Text) Then
      MessageBox.Show("Please Select a Task or Work Item")
  Else
      StartTime = DateTimeLog()
      MessageBox.Show(StartTime)
  End If
如果一个为真,

OrElseOr将返回true,因此如果您希望仅当两者都为空时才会弹出该消息,因为如果填写了一条消息,则需要继续使用其他消息,然后使用And代替。

答案 1 :(得分:-1)

我认为最好将AndAlso用于此要求。 OrElse提供不同的“短路”目的。您可以查看:Or versus OrElse并使用ElseIf作为您的第二个标准:

If String.IsNullOrEmpty(lbx_Aux_Codes.Text) AndAlso String.IsNullOrEmpty(com_Work_Item.Text) Then

MessageBox.Show("Please Select a Task or Work Item")

ElseIf String.IsNullOrEmpty(lbx_Aux_Codes.Text) Or _
String.IsNullOrEmpty(com_Work_Item.Text) Then

StartTime = DateTimeLog()
MessageBox.Show(StartTime)

End If