出于某种原因,以下查询似乎无效。任何人都可以告诉它为什么表现与我的期望不同。
基本上,如果所声明的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
感谢任何帮助。
答案 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
如果一个为真, OrElse
或Or
将返回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