• ベストアンサー

VB2005 テキストボックスの最大入力値設定について

いつもお世話になっております。 VB2005のテキストボックスで、全角半角入り混じっての 最大30バイトまで入力可能にしたいのですが、現在ある MaxLengthプロパティではうまく制御ができません。 テキストのロストフォーカスや、チェンジイベント時に チェックする以外に方法はないのでしょうか。 何かもっといい方法があれば教えて頂きたいのですが・・・。 どうか宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ape5
  • ベストアンサー率57% (85/148)
回答No.1

MaxLengthを30に設定して(半角文字なら30文字まで入力可とするため)、 http://okwave.jp/qa2895790.html 上記の回答の参考URLでバイトを計算すればよろしいかと。 チェックする場所はチェンジイベントがよろしいかと思います。

ayapama
質問者

お礼

ご回答ありがとうございます。 参考URLを確認して使用してみたところ うまく動作させることができました。 ありがとうございました。

関連するQ&A

  • テキストボックスの入力制限

     VB6の画面入力でテキストボックスにフォーカスが移った際、半角カナや全角漢字、半角アルファベット大文字と云ったキーボードからの入力を制御したい(OSはWinXp/FEPはIME2002を使用)のですが、良い方法が有れば教えてください。

  • テキストBOXの入力制限について

    テキストBOXを下記のように設定したとします。 <input type="text"name="***" maxlength="30"> この場合は、全角・半角関係なく文字数を30文字入力することができますよね? 今回、私がやりたいことは、バイト数の制限をやりたいんです。 例えばバイト数を30バイトにした場合は、 全角では15文字しか入力できなくて 半角では30文字入力制限をする方法を探しています。 何かよい方法はないものでしょうか???

  • テキストボックスの入力制限

    VB2005環境です。 ・全角文字のみ入力を受け付けるテキストボックス ・半角文字のみ入力を受け付けるテキストボックス 以上のような入力制限を持つコントロールを用意したいと思っています。 MaskedTextBoxを用いればできるかと思いましたが、それらしき プロパティが見当たりませんでした。 やはりキーイベントを取得して…ということになるのでしょうか?

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

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

  • テキストボックスへの文字の入力について

    テキストボックスに入力できる文字を半角文字は最大30字、全角文字は最大15字に設定したいのですがどのようにすればできるのでしょうか?知っている方教えてください。

  • ACCESS2003のテキストボックスの最大桁数について

    Access2003のテキストボックスには、MaxLengthプロパティがありません。変わりに以下のような、コードで対応しようと試みたのですが、いまいち動きが悪いのです。以下のコードは、最大4桁までテキストボックスに入力可能とします。 Private Sub txtBox_KeyPress(KeyAscii As Integer)   If Len(txtBox.Text) > 3 Then     KeyAscii = 0   End If End Sub 最大入力桁数4桁を実現していますが、4桁入力後『Insert』キーを押下して、上書きモードでの修正ができません。 以下例1はOKですが、例2が実現できません。 例1:1回目新規入力『12』 ⇒ 2回目修正『123』⇒3回目修正『1234』 例2:1回目新規入力『1234』 ⇒ 2回目修正『9999』 VBのMaxLengthプロパティのようなことはできないのでしょうか?

  • テキストボックスの入力モードを制御したい

    こんにちは。 いまWebページ上のテキストボックスに入力する処理を 作ろうとしています。 そこであるテキストには半角,あるテキストには全角入力, というように制御したいのですが, HTMLでそのようなことができるでしょうか? 教えてください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • テキストの入力時、カーソルの移動をスムーズにしたい

     VB6で複数入力項目(テキスト/コンボボックス等)がある画面を作っているのですが、文字が最大桁数に達したら、次のコンボボックスへカーソル(=フォーカス)を移動し、次の入力項目へを行いたいのですが、 どうも思った様に、移動しないです。  以下は半角数字項目が最大文字数に達した場合、次のインプットボックスへフォーカスが移動する様に組んでみました。 Private Sub Txt_Input_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0 If Len(Txt_Input.Text) >= (Txt_Input.MaxLength - 1) Then Txt_Input2.SetFocus End If End Sub ところが、バックスペースでも1文字分と捉えてしまう様で、3文字入力の場合等は先頭から入力し直さないと、再入力も儘ならない状態です。 何かバックスペースも自然に効く形で同様の制御は行えないものでしょうか。 (尚、MaxLength - 1の部分は-1しないとフォーカスが動きませんでした。)

  • テキストボックス行の桁数を制限したいです VB.NET

    VB.NETのテキストボックスなのですが、 マルチラインのテキストボックスで 行の桁数を10桁などに制限したいです。 全角半角混在などの処理もしないとならないと思うのですが、 良い方法などありましたらアドバイス頂ければ幸いです。 よろしくお願い致します。

  • テキストボックスの入力チェック(ACCESS VBA)

    テキストボックスに何かを入力し、フォーカスが他のものに移動したときに、LostFocusイベントで入力内容のチェックをかけています。(文字数チェック、ストアドをつかって入力内容と一致するものがDBにあるかなど) もし、入力が誤っている場合には他のものにフォーカスを移さず、そのテキストボックスにフォーカスを残したい(setfocusを使用)のですが、setfocusをしてもlostfocusされてしまうため、うまくいきません。 VBではValidateイベントというものがあるようですが、 VBAではみあたりません。 どなたかよい方法をご存知でしたら教えてください。

専門家に質問してみよう