VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 TextBox コントロール関係のメニュー
1.TextBox コントロールに関するワンポイントテクニック集
2.TextBox コントロールへのフォーカス移動時の操作色々
3.TextBox でコピー・貼り付け・切り取り・元に戻す他 
4.Enter キー及び↑↓キーによるフォーカス移動 
5.TextBox で数値しか入力できないように制限する
6.TextBox における総行数・現在行・現在桁の取得
7.TextBox で行毎テキストの操作色々
8.テキスト中に異種文字が混在していないかを調べる
9.テキストファイルを読み込み TextBox に表示及び保存
10.TextBox のテキストを複数ページにわたっての印刷
11.
12.
 . 
20.その他、当サイト内に掲載の TextBox コントロールに関するサンプル 


2.TextBox コントロールへのフォーカス移動時の操作色々(23_Txt_02) (旧、SampleNo.040)
1.TextBox で発生するフォーカスイベント及びその順序
2.TextBox にフォーカスが移った時、すべてのテキストを選択状態にする
3.TextBox にフォーカスが移った時、3桁目から5文字選択状態にする
4.TextBox にフォーカスが移った時、文字列の後尾に移動する
5.TextBox にフォーカスが移った時、指定の文字を選択状態にする
6.TextBox にフォーカスが移った時、背景色と前景色を設定する

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.TextBox で発生するフォーカスイベント及びその順序
キーボード (Tab、Shift + Tab など) を使用するか、Select メソッドまたは SelectNextControl メソッドを呼び出すか、
ContainerControl.ActiveControl プロパティを現在のフォームに設定してフォーカスを変更するとき、
次の順序でフォーカスイベントが発生します。

 1. Enter      コントロールが入力されると発生します。
 2. GotFocus     コントロールがフォーカスを受け取ると発生します。
 3. Leave      入力フォーカスがコントロールを離れると発生します。
 4. Validating    コントロールが検証しているときに発生します。
 5. Validated    コントロールの検証が終了すると発生します。
 6. LostFocus    コントロールがフォーカスを失ったときに発生します

マウスを使用するか Focus メソッドを呼び出してフォーカスを変更するとき、フォーカスイベントは次の順序で発生します。
 1. Enter
 2. GotFocus
 3. LostFocus
 4. Leave
 5. Validating
 6. Validated

CausesValidation プロパティが false に設定されている場合、Validating イベントおよび Validated イベントは発生しません。

こういった処理の場合、VB6.0の時は、GotFocus 及び LostFocus イベントを使用していましたが、MSDN の解説によると
GotFocus イベントおよび LostFocus イベントは、Windows メッセージ WM_KILLFOCUS および WM_SETFOCUS に結び付けられた、
下位のフォーカスイベントです。
一般的に、GotFocus イベントおよび LostFocus イベントは、UICues を更新するとき、または
カスタムコントロールを作成するときにだけ使用されます。
代わりに、Activated イベントおよび Deactivate イベントを使用する
Form クラスを除くすべてのコントロールに、Enter イベントおよび Leave イベントを使用する必要があります。
と記されています。

このページのトップへ移動します。 2.TextBox にフォーカスが移った時、すべてのテキストを選択状態にする

Private Sub TextBox2_Enter(sender As Object, e As EventArgs) Handles TextBox2.Enter
'TextBoxBase.SelectAll メソッド
'テキストボックスのすべてのテキストを選択します。
    TextBox2.SelectAll()
End Sub

このページのトップへ移動します。 3.TextBox にフォーカスが移った時、3桁目から5文字選択状態にする

Private Sub TextBox3_Enter(sender As Object, e As EventArgs) Handles TextBox3.Enter
'Select メソッド
'テキストボックスでテキストの範囲を選択します。
'3桁目から5文字選択する
    TextBox3.Select(2, 5)

    '又は
    'TextBox3.SelectionStart = 2
    'TextBox3.SelectionLength = 5
End Sub

このページのトップへ移動します。 4.TextBox にフォーカスが移った時、文字列の後尾に移動する

Private Sub TextBox4_Enter(sender As Object, e As EventArgs) Handles TextBox4.Enter
'SelectionStart プロパティ
'テキストボックスで選択されているテキストの開始点を取得または設定します。

'TextLength プロパティ
'コントロールのテキストの長さを取得します。

    '文字列の後尾に移動する
    TextBox4.SelectionStart = TextBox4.TextLength

End Sub

このページのトップへ移動します。 5.TextBox にフォーカスが移った時、指定の文字を選択状態にする

Private Sub TextBox5_Enter(sender As Object, e As EventArgs) Handles TextBox5.Enter
'指定の文字を選択状態にする
    Dim target As String = "かき"
    '指定した文字がこのインスタンス内で最初に見つかった位置を取得
    Dim findPos As Integer = TextBox5.Text.IndexOf(target)
    If findPos > -1 Then  '見つかった場合の処理
        TextBox5.Select(findPos, target.Length)
    Else  '見つからなかった場合の処理
        TextBox5.SelectionStart = TextBox5.TextLength
    End If
End Sub

このページのトップへ移動します。 6.TextBox にフォーカスが移った時、背景色と前景色を設定する

Private Sub TextBox6_Enter(sender As Object, e As EventArgs) Handles TextBox6.Enter
    '背景色と前景色を設定する
    With TextBox6
        .SelectionStart = .TextLength '選択状態にならないように
        .BackColor = Color.Yellow
        .ForeColor = Color.Red
    End With
End Sub

Private Sub TextBox6_Leave(sender As Object, e As EventArgs) Handles TextBox6.Leave
    '背景色と前景色を元に戻す
    TextBox6.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window)
    TextBox6.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.WindowText)
End Sub

このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
テキストボックス テキストボックス




このページのトップへ移動します。