■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#380-3テキストボックスでエンターキーでのタブ移動GreenBigTree2003-08-14(木) 17:05
     #381-3RE#380:テキストボックスでエンターキーでのタブ移動GreenBigTree2003-08-14(木) 20:00
     #382-2RE#381:テキストボックスでエンターキーでのタブ移動匿名3822003-08-15(金) 00:37
     #384-2RE#382:テキストボックスでエンターキーでのタブ移動GreenBigTree2003-08-15(金) 01:18
     #385-3RE#384:テキストボックスでエンターキーでのタブ移動あき☆彡2003-08-15(金) 02:20
     #386-3RE#385:テキストボックスでエンターキーでのタブ移動GreenBigTree2003-08-15(金) 04:04
#380-3
テキストボックスでエンターキーでのタブ移動
いつもお世話になります(゜ー゜〃)【実行環境】Win95, VB6
テキストボックスに月を(1から12の内1つ)入力し,エンターキーで次のテキストボックスへ移動したいのですが方法がわかりません。
<<ソースコード>>
   Private Sub Text1_Change()
       '1から12の間チェック
       If Val(txtMonth.Text) >= 1 And Val(txtMonth.Text) <= 12 Then
           <---  この間にエンターキーをおしたらSetFocusでタブを飛ばしたいのですが --->
           Exit Sub
       Else
           Beep
           txtMonth.Text = ""     '入力情報クリア
       End If
ご回答があれば、宜しくお願いします。
#381-3
RE#380:テキストボックスでエンターキーでのタブ移動
> いつもお世話になります(゜ー゜〃)【実行環境】Win95, VB6
> テキストボックスに月を(1から12の内1つ)入力し,エンターキーで次のテキストボックスへ移動したいのですが方法がわかりません。
> <<ソースコード>>
>    Private Sub Text1_Change()
>        '1から12の間チェック
>        If Val(txtMonth.Text) >= 1 And Val(txtMonth.Text) <= 12 Then
>            <---  この間にエンターキーをおしたらSetFocusでタブを飛ばしたいのですが --->
>            Exit Sub
>        Else
>            Beep
>            txtMonth.Text = ""     '入力情報クリア
>        End If
> ご回答があれば、宜しくお願いします。
〜自己返信になります。ご了承ください〜
ネットで調べた結果ですが、
 (1).windowsではエンターキーでフォーカスを移動するのはあまり好ましくない
  (2).エンターキーでタブを移動するのであれば、KeyPressイベント内で KeyAscii = 13での判断を
   用いて確認する (13の文字コードがエンターキーにあたる)
 この2点が分かりました。
また、ご意見などありましたら返信宜しくお願いします(^^)
#382-2
RE#381:テキストボックスでエンターキーでのタブ移動
エンターキー押した時にフォーカスを移動させるのか?
1から12の数字があるときだけ移動させるのか?どっちですか?
#384-2
RE#382:テキストボックスでエンターキーでのタブ移動
> エンターキー押した時にフォーカスを移動させるのか?
> 1から12の数字があるときだけ移動させるのか?どっちですか?
〜匿名さん返信ありがとうございます〜
 半角英数モードでの 1から12までの入力があったときだけエンターキーでのフォーカス移動になります。
返信あればよろしくお願いします。

 
#385-3
RE#384:テキストボックスでエンターキーでのタブ移動
> > エンターキー押した時にフォーカスを移動させるのか?
> > 1から12の数字があるときだけ移動させるのか?どっちですか?
> 〜匿名さん返信ありがとうございます〜
>  半角英数モードでの 1から12までの入力があったときだけエンターキーでのフォーカス移動になります。

Enterキーでの移動させるなら、Changeイベントでチェックする必要はないですよね?
無効な入力の時にChangeイベントでクリアさせる必要があるならば別ですが・・・

又、
If Val(txtMonth.Text) >= 1 And Val(txtMonth.Text) <= 12 Then
この文は問題ありです。
Val 関数では
テキストボックスに"1A"と入力しても
1が返ってきてしまいますよ。
"1A"はエラーにしないといけないですよね?

IMEMode プロパティは オフ固定
MaxLength プロパティは 2 にしているとして
Enterキーで移動させるならこんな感じとか・・・

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        If Text1.Text Like "*[!0-9]*" Then Exit Sub
        If Not (1 <= CLng(Text1.Text) And CLng(Text1.Text) <= 12) Then Exit Sub
        Text1.Enabled = False
        Text1.Enabled = True
        KeyAscii = 0
    End If
End Sub
#386-3
RE#385:テキストボックスでエンターキーでのタブ移動
> > > エンターキー押した時にフォーカスを移動させるのか?
> > > 1から12の数字があるときだけ移動させるのか?どっちですか?
> > 〜匿名さん返信ありがとうございます〜
> >  半角英数モードでの 1から12までの入力があったときだけエンターキーでのフォーカス移動になります。
> 
> Enterキーでの移動させるなら、Changeイベントでチェックする必要はないですよね?
> 無効な入力の時にChangeイベントでクリアさせる必要があるならば別ですが・・・
> 
> 又、
> If Val(txtMonth.Text) >= 1 And Val(txtMonth.Text) <= 12 Then
> この文は問題ありです。
> Val 関数では
> テキストボックスに"1A"と入力しても
> 1が返ってきてしまいますよ。
> "1A"はエラーにしないといけないですよね?
> 
> IMEMode プロパティは オフ固定
> MaxLength プロパティは 2 にしているとして
> Enterキーで移動させるならこんな感じとか・・・
> 
> Private Sub Text1_KeyPress(KeyAscii As Integer)
>     If KeyAscii = vbKeyReturn Then
>         If Text1.Text Like "*[!0-9]*" Then Exit Sub
>         If Not (1 <= CLng(Text1.Text) And CLng(Text1.Text) <= 12) Then Exit Sub
>         Text1.Enabled = False
>         Text1.Enabled = True
>         KeyAscii = 0
>     End If
> End Sub
〜あきさん返信ありがとうございます〜
エンターキーの文字コードは vbKeyReturnの組み込み定数を使い、 1から12までの
受付には Clng関数で長整数型 Longに数値変換をするんですね。大変参考になります。
このソースコード試したいと思います。あきさん本当にありがとう(〃⌒ー⌒〃)
このページと関連する記事:
#29237-0タブキーの入力チェック2002-06-07(金) 09:15
#21489-0テキストボックスについて教えてください2001-06-21(木) 21:46
#44148-0Length2001-06-18(月) 17:27
#7549-0教えてください。2000-04-20(木) 16:32
#11541-0フォーカスの移動の制限について2000-09-19(火) 13:22
#45047-0音が気になる。2001-07-16(月) 17:27
#644-0Enterキーでフォーカス移動したいのですが1999-08-06(金) 10:21
#2177-1Enterで移動2004-05-17(月) 15:26
#18056-0桁数の設定について2001-01-23(火) 18:03
#28341-0テキストボックスでEnterキーが押された時に音が鳴ってしまう2002-04-21(日) 12:25
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)