C# form2 搜索 form1 中的 richtextbox 的文本并选中..

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:57:13
private void button1_Click(object sender, EventArgs e)
{
Form1 f1=new Form1();
f1.richTextBox1.Find(this.textBox1.Text,start,end,RichTextBoxFinds.MatchCase);
}
这样怎么不行啊...

Form1中有一个按钮,事件处理:richTextBox1的Modifirs属性在属性窗口中设置为Public
private void btn_Find_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
this.richTextBox1.HideSelection = false;
f2.ShowDialog();
}
Form2中:
public Form2(Form1 f)
{
InitializeComponent();
f1 = f;
}
Form1 f1;
int start=0;int end=2;//别忘了给他们赋值
private void button1_Click(object sender, EventArgs e)
{
f1.richTextBox1.Find(this.textBox1.Text, start, end, RichTextBoxFinds.MatchCase);
}

Form1应该是本来存在的吧,你new一个出来不行的,通过Form2的构造函数把原本的Form1的this传递过来
然后richTextBox1不能用f1.richTextBox1这样调用的,它是private的,可以用一个公共函数将它传递过来或者用((RichTextBox)f1.Controls.Find("richTextBox1",false)[0]).这样来调用