2011-08-06 4 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に変換しようとしているのですか?ブロックに入るかどうかを確認するためにBooleanTextBox1.Textを変換しようとしている

If (TextBox1.Text) 

答えて

1

問題は、この部分です。あなたは意味するかもしれません:

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

おそらくはい!私はこのようなものを試しました。最後に、わかりました:-) If String.IsNullOrEmpty(TextBox1.Text)Then MsgBox( "TextBox1コードは空ではありません、適切な値を入力してください!"、vbCritical、 "Empty TextBox1")Else field1 = TextBox1.Text'それは働いた:)あなたの時間のために感謝ジョン! –

+1

@Bhavani:私は間違っている可能性がありますが、 'TextBox.Text'はこれまでどおりnullにはならないと思います。 –