关于C#中的richtextbox控件的查找文本方法,如何从当前鼠标向前查找,也就是反向查找??? 50
如题,就是做一个文本编辑器让其实现像WORD那样可以向上查找,从当前鼠标处开始向文本开始的方向查找,似乎是个很平常的功能,但老师也不讲,网上也找不到,可能太简单了不值一提...
如题,就是做一个文本编辑器让其实现像WORD那样可以向上查找,从当前鼠标处开始向文本开始的方向查找,似乎是个很平常的功能,但老师也不讲,网上也找不到,可能太简单了不值一提,但我这个菜鸟就是不会,想请各位高手不吝指教!!!!!!!
展开
2个回答
展开全部
坦白说我也不知道是不是有现成的方案,不过我是自己做了个窗体,也就是弹出一个“查找”窗体,然后回调父窗体的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));
}
}
然后你用一个子窗体回调这个方法就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询