我正在做一个文字处理器。字处理器具有允许用户在richTextBox 中搜索文本的功能。
目前,我的“查找”代码包括:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Basic_Word_Processor
{
public partial class Find : Form
{
public Find()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int index = 0;
string temp = Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text;
Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text = "";
Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text = temp;
while (index < Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text.LastIndexOf(textBox1.Text))
{
Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Find(textBox1.Text, index, Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.TextLength, RichTextBoxFinds.None);
Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.SelectionBackColor = Color.Yellow;
index = Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text.IndexOf(textBox1.Text, index) +1;
{
}
}
}
private void Find_FormClosing(object sender, FormClosingEventArgs e)
{
Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.SelectionBackColor = Color.White;
}
}
}
但是,如果richTextBox 包含单词“TEST”,并且用户搜索“test”,则不会找到任何结果。
我在 MSDN 论坛上问了同样的问题,但有人告诉我将 textBox 和richTextBox ToLower 转换,这有效,但它使richTextBox 中的文本小写。我不希望它更改richTextBox 中的实际文本。
有什么建议么?
编辑
textBox 位于 Find 表单上,richTextBox 位于 Basic_Word_Processor 表单上。