2011-08-06 127 views
0

我有一个窗体有一个文本框(说TextBox1)。该字段是字符串类型。VB2008类型抛出异常

在点击一个按钮,我有下面的代码

Dim field1 As String 

If (TextBox1.Text) Then field1 = TextBox1.Text Else MsgBox("TextBox1 Code can not be empty. Enter proper value!", vbCritical, "Empty TextBox1") 

我建立的解决方案,并运行它。当表单打开时,我没有在TextBox1中输入任何内容。我点击了按钮。它抛出一个例外如下:

InvalidCastException was unhandled 
Conversion from string "" to type 'Boolean' is not valid. 

任何人都可以指导如何处理这个异常?另外,为什么它试图将我的字符串转换为Bool呢?

回答

1

问题是这样的部分:

If (TextBox1.Text) 

它试图TextBox1.Text转换为Boolean,看是否要进入该块。你可能的意思是:

If (TextBox1.Text <> "") 
+0

可能是的!我试过这样的东西'我终于想通了:-) If String.IsNullOrEmpty(TextBox1.Text)Then MsgBox(“TextBox1 Code can not be empty。Enter enter value!”,vbCritical,“Empty TextBox1”)Else field1 = TextBox1.Text',它工作:)谢谢你的时间乔恩! –

+1

@Bhavani:我可能是错的,但我不认为*'TextBox.Text'将永远为空。 –

相关问题