如何用C#在winform中實現簡單的尋找功能

來源:互聯網
上載者:User

以前寫過一個web上的尋找的例子,這次寫了一個winform下的,當然還是要用Regex。一個視窗,上面有一個richTextBox,一個輸入框,三個button:尋找,前一個,後一個。

主要代碼:

MatchCollection matches;

int index = 0;

private void button1_Click(object sender, EventArgs e)

{

        this.index = 0;

        this.richTextBox1.HideSelection = false;

        Regex rx = new Regex(this.textBox1.Text,

        RegexOptions.Compiled | RegexOptions.IgnoreCase);

 

        matches = rx.Matches(this.richTextBox1.Text);

 

        btnNext_Click(sender, e);

}

 

private void btnNext_Click(object sender, EventArgs e)

{

        if (matches.Count > 0 && index < matches.Count )

        {

                Match match = matches[index];

                int currentPos = match.Index;

                this.richTextBox1.Select(currentPos, this.textBox1.Text.Length);

                if (index == matches.Count - 1)

                {

                        MessageBox.Show("end");

                }

                else

                {

                        index += 1;

                }

        }

}

 

private void btnPrev_Click(object sender, EventArgs e)

{

        if (matches.Count > 0 && index >= 0 )

        {

                Match match = matches[index];

                int currentPos = match.Index;

                this.richTextBox1.Select(currentPos, this.textBox1.Text.Length);

                if (index == 0)

                {

                        MessageBox.Show("start");

                }

                else

                {

                        index -=1;

                }

        }

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.