次の方法で共有


方法: Windows フォーム TextBox コントロールの挿入ポイントを制御する

Windows フォーム TextBox コントロールが最初にフォーカスを受け取るとき、テキスト ボックス内の既定の挿入は既存のテキストの左側にあります。 ユーザーは、キーボードまたはマウスを使用してカーソルを移動できます。 テキスト ボックスが失われ、フォーカスが再び取得された場合、挿入ポイントはユーザーが最後に配置した場所になります。

場合によっては、この動作がユーザーに対して混乱する可能性があります。 ワープロ アプリケーションでは、既存のテキストの後に新しい文字が表示される可能性があります。 データ入力アプリケーションでは、ユーザーは既存のエントリを置き換える新しい文字が必要になる場合があります。 SelectionStart プロパティと SelectionLength プロパティを使用すると、目的に合わせて動作を変更できます。

TextBox コントロールの挿入ポイントを制御するには

  1. SelectionStart プロパティを適切な値に設定します。 0 を指定すると、挿入ポイントは最初の文字の左側に配置されます。

  2. (省略可能)SelectionLength プロパティを、選択するテキストの長さに設定します。

    次のコードは、常に挿入ポイントを 0 に戻します。 TextBox1_Enter イベント ハンドラーは、コントロールにバインドする必要があります。詳細については、「Windows フォームでのイベント ハンドラーの作成」を参照してください。

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter  
       TextBox1.SelectionStart = 0  
       TextBox1.SelectionLength = 0  
    End Sub  
    
    private void textBox1_Enter(Object sender, System.EventArgs e) {  
       textBox1.SelectionStart = 0;  
       textBox1.SelectionLength = 0;  
    }  
    
    private:  
       void textBox1_Enter(System::Object ^  sender,  
          System::EventArgs ^  e)  
       {  
          textBox1->SelectionStart = 0;  
          textBox1->SelectionLength = 0;  
       }  
    

既定で挿入ポイントを可視化する

TextBox コントロールがタブ オーダーの最初の場合にのみ、TextBox 挿入ポイントが新しいフォームに既定で表示されます。 その他の場合は、キーボードかマウスを使用してフォーカスを TextBox に移動した場合にのみ、カーソル位置が表示されます。

テキスト ボックスの挿入ポイントを新しいフォームに既定で表示するには

  • TextBox コントロールの TabIndex プロパティを 0に設定します。

関連項目