DJ메탈짱™의 Free Style

[C#, Winform, 윈폼] textbox, multiline, findtext, SelectionStart ,SelectionLength ,다음찾기, 찾기, 문자열검색 본문

일(job)/MS(Microsoft)

[C#, Winform, 윈폼] textbox, multiline, findtext, SelectionStart ,SelectionLength ,다음찾기, 찾기, 문자열검색

뽀&쏭 2016. 1. 7. 13:44



// 입력한 값 선택을 위한 시작점을 전역변수로 설정.

int _startIndex;

 

private void button1_Click(object sender, EventArgs e)

{

// 입력한 값이 결과내용에 존재하면 해당 위치 시작점을 가져옴.

        _startIndex = textBox2.Text.IndexOf(this.textBox1.Text, _startIndex);

 

        // 결과값이 마지막에 도달하면 초기설정.

        if (_startIndex == -1)

        {

               // 결과값이 존재하지 않으면 이하 실행되지 않도록...

               _startIndex = textBox2.Text.IndexOf(this.textBox1.Text, 0);

 

               if (_startIndex == -1)

               {

                       _startIndex = 0;

                       return;

               }

}

        textBox2.SelectionStart = _startIndex;          // 값을 선택할 지점

        textBox2.SelectionLength = textBox1.Text.Length;// 값을 선택할 크기

        textBox2.Select();                              // 값을 선택

 

        textBox2.ScrollToCaret();              // 선택된 값으로 스크롤 이동

 

 

        // 처음부터 값이 존재하는 경우 다음값 선정에 어려워 +1 값 설정.

        if (_startIndex == 0)

        {

               _startIndex = 1;

}

        else // 다음값을 선택해야 하므로 +1 값 설정.

        {

               _startIndex = _startIndex + 1;

        }