如何检查文本框是否为空VB.Net
我想测试一个文本框是否为验证目的而为空,而不是使用if x =“”。相反,我想知道是否有更好的方法来做到这一点。目前,我有:如何检查文本框是否为空VB.Net
If txtDob Is Nothing Or txtFirst Is Nothing Or txtGender Is Nothing Or txtLast Is Nothing Or txtPostcode Is Nothing Or txtStreetName Is Nothing Or txtStreetNo.Text Is Nothing Then
MessageBox.Show("One or more fields have not been completed")
Return
End If
然而,这似乎没有工作,可有人告诉我正确的方法或另一种方式来做到这一点吗?
您需要检查Text
属性。
If txtDob.Text = string.Empty Then
随着你的代码,你正在检查你的文本框的对象是什么都不是内容。只要TextBox存在,你的条件就会返回false。
如果我改为txtdob.text,那么上面的代码也可以工作吗? – lrgthrill
如果没有对象的实例,那么“没有什么”就是可行的。文本框文本是空的,但不是什么。 'txtDob如果你用'txtDob.Dispose()'处理你的文本框,没有什么是真实的。这样,控件的实例就会“释放”并且不存在。没有什么比较字符串内容。 –
@Irgthrill我会推荐你这篇关于'nothing'的文章来理解它的含义https://msdn.microsoft.com/en-us/library/0x9tb07z.aspx –
您可以使用此:
Dim emptyTextBoxes =
From txt In Me.Controls.OfType(Of TextBox)()
Where txt.Text.Length = 0
Select txt.Name
If emptyTextBoxes.Any Then
MessageBox.Show(String.Format("Please fill following textboxes: {0}",
String.Join(",", emptyTextBoxes)))
End If
蒂姆Schmelter的回答守则Check for empty TextBox controls in VB.NET
强大的文本例如:
If String.IsNullOrEmpty(txtDob.Text) Then
' "Contains Empty value or Null Value"
End If
不好意思啊,我没有注意到线程。下次我会关注它。 – lrgthrill