C# 记事本【查找下一个】如何实现?
查找功能已经实现,查找下一个无从下手,查找对话框的查找按钮事件如下:privatevoidbtnFind_Click(objectsender,EventArgse){i...
查找功能已经实现,查找下一个无从下手,查找对话框的查找按钮事件如下:
private void btnFind_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
return;
}
else
{
keyword = textBox1.Text;
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
//关键字为空时直接返回
if (textBox1.Text == string.Empty)
{
return;
}
else
{
//要查找的关键字
keyword = textBox1.Text;
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
keyword = keyword.ToLower();
text = text.ToLower();
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//向下查找时
if (isDown)
{
if (pos == -1)
{
MessageBox.Show("找不到该字符串!");
pos = 0;
}
else
{
((MainForm)this.Owner).textBox1.Select(pos, keyword.Length);
pos++;
this.Owner.Activate();
}
}
//向上查找时
else
{
if (upos == -1)
{
MessageBox.Show("找不到该字符串!");
upos = text.Length;
}
else
{
((MainForm)this.Owner).textBox1.Select(upos, keyword.Length);
if (upos != 0)
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
keyword = keyword.ToLower();
text = text.ToLower();
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//向下查找时
if (isDown)
{
if (pos == -1)
{
MessageBox.Show("找不到该字符串!");
pos = 0;
}
else
{
((MainForm)this.Owner).textBox1.Select(pos, keyword.Length);
pos++;
this.Owner.Activate();
}
}
//向上查找时
else
{
if (upos == -1)
{
MessageBox.Show("找不到该字符串!");
upos = text.Length;
}
else
{
((MainForm)this.Owner).textBox1.Select(upos, keyword.Length);
if (upos != 0)
{
upos--;
}
this.Owner.Activate();
}
}
}
}
}
}
}
} 展开
private void btnFind_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
return;
}
else
{
keyword = textBox1.Text;
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
//关键字为空时直接返回
if (textBox1.Text == string.Empty)
{
return;
}
else
{
//要查找的关键字
keyword = textBox1.Text;
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
keyword = keyword.ToLower();
text = text.ToLower();
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//向下查找时
if (isDown)
{
if (pos == -1)
{
MessageBox.Show("找不到该字符串!");
pos = 0;
}
else
{
((MainForm)this.Owner).textBox1.Select(pos, keyword.Length);
pos++;
this.Owner.Activate();
}
}
//向上查找时
else
{
if (upos == -1)
{
MessageBox.Show("找不到该字符串!");
upos = text.Length;
}
else
{
((MainForm)this.Owner).textBox1.Select(upos, keyword.Length);
if (upos != 0)
//区分大小写时
if (isCase)
{
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//不区分大小写时
else
{
keyword = keyword.ToLower();
text = text.ToLower();
//向下查找时
if (isDown)
{
pos = text.IndexOf(keyword, pos);
}
//向上查找时
else
{
upos = text.LastIndexOf(keyword, upos);
}
}
//向下查找时
if (isDown)
{
if (pos == -1)
{
MessageBox.Show("找不到该字符串!");
pos = 0;
}
else
{
((MainForm)this.Owner).textBox1.Select(pos, keyword.Length);
pos++;
this.Owner.Activate();
}
}
//向上查找时
else
{
if (upos == -1)
{
MessageBox.Show("找不到该字符串!");
upos = text.Length;
}
else
{
((MainForm)this.Owner).textBox1.Select(upos, keyword.Length);
if (upos != 0)
{
upos--;
}
this.Owner.Activate();
}
}
}
}
}
}
}
} 展开
2个回答
展开全部
string indexPageString = "helloworld hellocode";//原始字符串
string searchString="hello";//待查询的字符串
int firstPosition = indexPageString.IndexOf(searchString);//第一个的位置
int nextPOstion = indexPageString.IndexOf(searchString, firstPosition + searchString.Length); //下一个的位置
string searchString="hello";//待查询的字符串
int firstPosition = indexPageString.IndexOf(searchString);//第一个的位置
int nextPOstion = indexPageString.IndexOf(searchString, firstPosition + searchString.Length); //下一个的位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试 正则表达式 吧!
应该能完成!
应该能完成!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询