C# 实现richTextBox里面文本的查找功能?
1个回答
2013-11-16
展开全部
坦白说我也不知道是不是有现成的方案,不过我是自己做了个窗体,也就是弹出一个“查找”窗体,然后回调父窗体的richtextbox自带的Find()方法实现的,当然你也可以用一个textbox之类的实现你要查找字符串的input,反正word是弹出一个窗体我就照样子弹出了一个窗体,
方法可以给你
internal void FindText(RichTextBox rtb, string text)
{
rtb.HideSelection = false;
int searchStartPosition = rtb.SelectionStart;
if (rtb.SelectedText.Length > 0)
{
searchStartPosition = rtb.SelectionStart + rtb.SelectedText.Length;
}
int indexOfText = rtb.Find(text, searchStartPosition, RichTextBoxFinds.None);
if (indexOfText >= 0)
{
searchStartPosition = indexOfText + rtb.SelectionLength;
rtb.Select(indexOfText, rtb.SelectionLength);
}
else
{
MessageBox.Show(String.Format("找不到“{0}”...", text));
}
}
然后你用一个子窗体回调这个方法就行了
方法可以给你
internal void FindText(RichTextBox rtb, string text)
{
rtb.HideSelection = false;
int searchStartPosition = rtb.SelectionStart;
if (rtb.SelectedText.Length > 0)
{
searchStartPosition = rtb.SelectionStart + rtb.SelectedText.Length;
}
int indexOfText = rtb.Find(text, searchStartPosition, RichTextBoxFinds.None);
if (indexOfText >= 0)
{
searchStartPosition = indexOfText + rtb.SelectionLength;
rtb.Select(indexOfText, rtb.SelectionLength);
}
else
{
MessageBox.Show(String.Format("找不到“{0}”...", text));
}
}
然后你用一个子窗体回调这个方法就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询