[C#][Windows Formsアプリ][TextBox] Selectメソッドを使用して、テキストの一部を選択する

スポンサーリンク

はじめに

ユーザーが入力した文字列の一部を強調したいときに便利なのが
Select() メソッド です。
指定した位置と長さに基づいて、TextBox内の文字列をプログラムから選択できます。

 

Selectメソッドとは?

Select(int start, int length) メソッドは、
TextBox内のテキストの一部を選択状態にします。

  • start … 選択を開始する位置(0始まり)
  • length … 選択する文字数
例:TextBoxに「Hello World」が入力されているとき、
textBox1.Select(6, 5); を実行すると「World」が選択されます。

 

基本の使い方

コード例

// 先頭から5文字を選択する
textBox1.Select(0, 5);

この操作をすると、TextBox上で指定範囲が反転表示されます。

 

実用例:特定のキーワードを選択

using System;
using System.Windows.Forms;

namespace SelectMethodSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            textBox1.Text = "C# Windows Forms Programming";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // "Windows" を選択
            int index = textBox1.Text.IndexOf("Windows");
            if (index >= 0)
            {
                textBox1.Select(index, "Windows".Length);
            }
        }
    }
}

この例では、ボタンを押すと「Windows」という文字が自動的に選択されます。

SelectedTextとの関係

  • Select() … 選択範囲を指定する
  • SelectedText … 現在選択されている文字列を取得または置換する

両者を組み合わせると、文字列の一部を選択してから加工する、といった処理が可能になります。

 

注意点

  • startlength が範囲外の場合は例外は発生せず、自動的に調整される
  • 選択状態にするだけで削除や置換は行われない
  • 選択状態を利用して Copy()Cut() を呼ぶと便利

 

まとめ

  • Select(start, length) はTextBox内の文字列の一部をプログラムから選択できる
  • 選択範囲は SelectedText と組み合わせて利用すると便利
  • 強調表示や文字列操作の起点として役立つメソッド

次は SelectedTextプロパティ を学ぶと、
選択したテキストを取得・変更する方法まで理解できるようになります。

Please follow and like us:

コメント

タイトルとURLをコピーしました