C#制作windows记事本查找功能问题
publicpartialclasssearch:Form{publicstaticintiStart=0;publicstaticRichTextBoxt;public...
public partial class search : Form
{
public static int iStart = 0;
public static RichTextBox t;
public search()
{
InitializeComponent();
}
public string strsearch;
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void bsearch_Click(object sender, EventArgs e)
{
if (bsearch.Text != "查找下一个")
{
t.Select(0, 0);
}
else
{
}
try
{
iStart = t.SelectionStart + t.SelectedText.Length;
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length);
t.Text.IndexOf(textBox1.Text, t.SelectionStart);
t.Focus();
bsearch.Text = "查找下一个";
}
catch (Exception ex)
{
MessageBox.Show("查找结束");
}
}
public void biaoji(ref RichTextBox r)
{
t=r;
}
private void search_Load(object sender, EventArgs e)
{
this.TopMost = true;
}
public void xiayige()
{
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length);
iStart = t.SelectionStart + t.SelectedText.Length;
}
}
有没人可以帮我解释下这段代码吗?初学windows窗体不是很懂,高手帮忙解释下吧~~谢谢啦~~ 展开
{
public static int iStart = 0;
public static RichTextBox t;
public search()
{
InitializeComponent();
}
public string strsearch;
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void bsearch_Click(object sender, EventArgs e)
{
if (bsearch.Text != "查找下一个")
{
t.Select(0, 0);
}
else
{
}
try
{
iStart = t.SelectionStart + t.SelectedText.Length;
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length);
t.Text.IndexOf(textBox1.Text, t.SelectionStart);
t.Focus();
bsearch.Text = "查找下一个";
}
catch (Exception ex)
{
MessageBox.Show("查找结束");
}
}
public void biaoji(ref RichTextBox r)
{
t=r;
}
private void search_Load(object sender, EventArgs e)
{
this.TopMost = true;
}
public void xiayige()
{
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length);
iStart = t.SelectionStart + t.SelectedText.Length;
}
}
有没人可以帮我解释下这段代码吗?初学windows窗体不是很懂,高手帮忙解释下吧~~谢谢啦~~ 展开
2个回答
展开全部
public static RichTextBox t; //实例化一个RichTextBox对象,显示多行文本
public search()
{
InitializeComponent();
}
public string strsearch;
private void button1_Click(object sender, EventArgs e) //关闭窗体按钮
{
this.Close();
}
private void bsearch_Click(object sender, EventArgs e) //查找下一个按钮
{
if (bsearch.Text != "查找下一个")
{
t.Select(0, 0);
}
else
{
}
try
{
iStart = t.SelectionStart + t.SelectedText.Length; //获取已选文本的位置+已选文本长度,即获取选中文本的下一个字符位置
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length); //调用方法,IndexOf(textBox1.Text, iStart)是找到所给文本之后的索引值,Select()是从第一个索引值开始,跨越该文本的长度
t.Text.IndexOf(textBox1.Text, t.SelectionStart); //更新索引值,便于下一次查找
t.Focus();
bsearch.Text = "查找下一个";
}
catch (Exception ex)
{
MessageBox.Show("查找结束");
}
}
***********
后面的方法貌似没有用
public search()
{
InitializeComponent();
}
public string strsearch;
private void button1_Click(object sender, EventArgs e) //关闭窗体按钮
{
this.Close();
}
private void bsearch_Click(object sender, EventArgs e) //查找下一个按钮
{
if (bsearch.Text != "查找下一个")
{
t.Select(0, 0);
}
else
{
}
try
{
iStart = t.SelectionStart + t.SelectedText.Length; //获取已选文本的位置+已选文本长度,即获取选中文本的下一个字符位置
t.Select(t.Text.IndexOf(textBox1.Text, iStart), textBox1.Text.Length); //调用方法,IndexOf(textBox1.Text, iStart)是找到所给文本之后的索引值,Select()是从第一个索引值开始,跨越该文本的长度
t.Text.IndexOf(textBox1.Text, t.SelectionStart); //更新索引值,便于下一次查找
t.Focus();
bsearch.Text = "查找下一个";
}
catch (Exception ex)
{
MessageBox.Show("查找结束");
}
}
***********
后面的方法貌似没有用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询