c#中查找问题

tianchideyu 2008-12-19 07:29:45
在查找中怎样才能得到上一次查找结束时亮块的位置,因为我想做一个“查找下一个”按钮但是要做查找下一个按钮 就必须知道上一次查找结束是的光标的位置 因为查找函数中的第二个参数就是查找的起始位置 那查找下一个的起始位置就是第一次查找结束时亮块的位置 所以怎么才能得到第一次结束时亮块所在的位置啊 谢谢了
...全文
225 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yudi010 2008-12-22
  • 打赏
  • 举报
回复
严重的关注
哇塞
呵呵

net5i 2008-12-22
  • 打赏
  • 举报
回复
搂主可以下载下面我专门针对文本编辑器软件写的查找和替换功能代码:
http://download.csdn.net/source/894891
该功能已经做得很完善,可以参考
对月成双 2008-12-20
  • 打赏
  • 举报
回复
保存在session 或者
application 里面。
具体哪一个看你自己需要
yagebu1983 2008-12-20
  • 打赏
  • 举报
回复
关注!!!
net5i 2008-12-20
  • 打赏
  • 举报
回复
text-将要被查找的文本;bMatchCase-是否区分大小写;bReverse-是否反向查找
tianchideyu 2008-12-20
  • 打赏
  • 举报
回复
string text, bool bMatchCase, bool bReverse这几个变量分别代表什么意思啊???
jhbyan 2008-12-20
  • 打赏
  • 举报
回复
上述代码写的很好
net5i 2008-12-19
  • 打赏
  • 举报
回复
搂主使用的是不是RichTextBox?是的话应该这样做:
private int FindNext(string text, bool bMatchCase, bool bReverse)
{
if (text == null) return -1;

this.richTextBox1.Focus();

RichTextBoxFinds findOptions = RichTextBoxFinds.None;

int start = this.richTextBox1.SelectionStart;
int end = start;

if (bReverse)
{
start = 0;
end = this.richTextBox1.SelectionStart;
findOptions |= RichTextBoxFinds.Reverse;
}
else
{
start += this.richTextBox1.SelectionLength;
end = this.richTextBox1.TextLength;
this.richTextBox1.SelectionStart = start;
}
this.richTextBox1.SelectionLength = 0;

if (bMatchCase)
{
findOptions |= RichTextBoxFinds.MatchCase;
}
return this.richTextBox1.Find(text, start, end, findOptions);
}
搂主直接调用这个函数应该可以实现你的需求
slimfeng 2008-12-19
  • 打赏
  • 举报
回复
针对winform可以在程序中或者其他文件中保存一下当前查找的位置,然后在点击继续查找的时候读取位置信息。
「已注销」 2008-12-19
  • 打赏
  • 举报
回复
把它保存在session中(对于asp中),不知是不是LZ想要的??

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧