【发布时间】:2016-07-12 21:03:51
【问题描述】:
我设置了一个搜索功能来搜索我的富文本框。它将遍历文本框并突出显示所有匹配的不同案例。富文本框列出了一个名称,然后转到下一行,所以我想要做的不仅仅是将突出显示的内容导出,而是将整个名称导出到不同的文本框中。到目前为止,这就是我所拥有的搜索功能。
private void Search_Button_Click(object sender, EventArgs e)
{
int index = 0;
int count = 0;
string temp = Display_Rich_Text_Box.Text;
//bool k;
Display_Rich_Text_Box.Text = "";
Display_Rich_Text_Box.Text = temp;
string[] fullName;
while (index <= Display_Rich_Text_Box.Text.LastIndexOf(Search_Text_Box.Text))
{
//Searches and locates the text you are searching for
Display_Rich_Text_Box.Find(Search_Text_Box.Text, index, Display_Rich_Text_Box.TextLength, RichTextBoxFinds.None);
//Color Selection: Hightlights in yellow
Display_Rich_Text_Box.SelectionBackColor = Color.Yellow;
count = count + 1;
fullName = Display_Rich_Text_Box.split("\n")
//Will search through rest of document or until it cannot continue
index = Display_Rich_Text_Box.Text.IndexOf(Search_Text_Box.Text, index) + 1;
}
// if (count > 0)
//{
Form2 f = new Form2(count.ToString(), fullName.tostring());
f.ShowDialog();
}
(文本框位于不同的表单上,此表单还显示找到了多少匹配项(计数))。
所以我尝试在文本框高亮显示文本后换行时拆分文本框。
例如:搜索折叠(在 Search_Text_Box 中输入)
文件夹 A 文件夹 B 新设计 图片
因此,当它搜索时,它会突出显示在 Search_Text_Box 中键入的内容。我要做的是拆分负责 Display_Text_Box 的字符串,因此如果用户键入折叠,它将在单独的文本框中显示文件夹 A 和文件夹 B。文本框采用不同的形式。提前感谢您的帮助。
【问题讨论】:
-
“全名”是什么意思?这是在富文本框中搜索名称吗?
-
程序查找文件夹和文件名,并将它们显示在富文本框中。每个名称都有自己的行。例如:folder1(新行),folder2(新行)......所以如果我在搜索框中键入 fol 并执行搜索。它将突出显示 fo;但是,我想导出 fol 和该行的其余部分,因此它也应该将 folder2 移动到一个新的文本框。这有帮助吗?
-
将输入按
\n拆分会有帮助吗? -
/*例如:输入文件夹 A \n 文件夹 B \n 新文件夹 \n 项目 1 \n 持续一段时间。到目前为止的搜索功能将突出显示搜索到的材料。因此,如果搜索 fo,它会突出显示文件夹 A、B 和新文件夹中的 fo。我想做的是输出任何包含突出显示部分的名称,这样用户就不必输入完整的标题来查看包含相似单词的不同案例。我曾想过尝试将其返回到最后一个新行以获取名称,但到目前为止它无法正常工作*/
-
我回答得不好。它们由新行分隔