• 締切済み

VB.net、テキストボックス入力制限、全角のみ

VB.net初心者ですよろしくお願いします テキストボックス入力制限で全角文字のみを以下の方法で実現させました (1)テキストボックス選択時のImeMode初期値を全角ひらがなに設定 (2)ボタン押下時のイベントで入力された文字のサイズを確認し、半角が混ざっていたらエラー これで基本的には問題ないのですが、後学のために入力文字自体を全角のみに制限できないかを調べています いろいろ調査してみて半角のみは可能であることがわかり、実際にコーディングもしてみました しかし全角のみは調査しても情報が見つかりません 全角のみの入力制限が可能かどうか、理由も添えてアドバイスいただけると助かります よろしくお願いします。

みんなの回答

回答No.1

参考にしてください。 Public Shared Function Fint_GetLenB(ByVal vstr_String As String) As Integer Return System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(vstr_String) End Function Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating Dim s As String = TextBox1.Text If Fint_GetLenB(s) <> s.Length * 2 Then MsgBox("半角が含まれています") e.Cancel = True End If End Sub