2016-06-16 9 views
-1

私はTextBoxを持っています。これにより、ユーザーが10文字以上入力するとMsgBoxと表示されます。その部分は動作します:DTextBoxの文字数をカウントする

TextBoxが空で、ユーザーが最初の文字を入力するとメッセージが表示されます。 Nullが10以上の何かに見られるので、私はそれを考えますか?確信はないけど。

A)何が起こっているのですか?

B)これはどのように修正できますか?

Private Sub TextBox3_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox3.KeyPress 
    If TextBox3.Text.Length >= 10 Then 
     MsgBox("WARNING") 
    End If 
End Sub 
+1

「TextBox3.Text」の初期値は何ですか?そして、 'null'や' Nothing'は長さを持たないので、10以上でもありません。しかし 'TextBox.Text'は' Nothing'を指定しても 'null'や' Nothing'を返しません。 'プロパティは、長さが0の' String.Empty'を返します。 –

+0

代わりに 'TextBox3_TextChanged'を使用してみてください。 –

+0

'KeyPress'イベントはテキストがボックスに入る前に発生します。 – theB

答えて

0

これを試すことができます。 trimを使うことで、空白文字は無視されます。たとえば、ユーザーが10個の[スペースバー]キーのみを入力した場合、それはトリミングされます。

Private Sub TextBox3_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox3.KeyPress 
If TextBox3.Text.Trim().Length() >= 10 Then 
    MsgBox("WARNING") 
End If 
End Sub 
関連する問題