windows记事本的查找能在找到字符时使找的字符被选中,并且查找窗口不会被关闭。模仿windows的记事本自己写了一个简单的记事本程序,我的查找窗口是FindForm当查找时调用FindForm.ShowDialog()但是当找到字符时,设置主窗口的textBox1.SelectionStart = findPosition没有反应,FindForm查找窗口关闭了,才会生效。这就和Windows的记事本的查找功能不一样了,请问我应该如何实现,才能向windows的记事本的查找功能一样,不用关闭当前查找窗口也能在主窗口中选中查找的字符。谢谢!

解决方案 »

  1.   

    在FormMain中,点击查找按钮:
    FormFind form = new FormFind();
    form.Owner = this;
    form.Show();
      

  2.   

    设置了findForm.Owner = this;
    仍然不行。
    FindForm find = new FindForm();
    find.FindString(textBox1.Text,textBox1.SelectionStart);
    find.SetPosition += new FindForm.Position(this.SetTextPosition);
    find.Owner = this;<-----设置了还是不行,还是要先将FindForm窗体关闭了才行,主窗体才会选中查找到的字符
        find.Show();
      

  3.   

    你应该在FindForm中调用查找功能,可以将查找函数写在FindForm中;也可以将查找函数写在FormMain中,然后在FindForm中调用。
    在FindForm中用FormMain formMain = this.Owner as FormMain;找到FormMain。
      

  4.   

    请老大先用一下windows的记事本的查找窗口,它的找到字符后就选中,而且查找窗口没有关闭,我按照你的方法设置了,但还是要先关闭掉查找窗口才会选中
      

  5.   

    留下Email吧,发个实例给你。
      

  6.   

    楼主 ,能把实例发送给我不,谢谢了
    [email protected]