private void button1_Click(object sender, EventArgs e)
        {
            find();//查找后调用textbox.select()
                       Form1 mainForm = (Form1)this.Owner;
            mainForm.Activate();
            t.Focus();
        }在不写后三行的情况先无法看见主窗体被选中的文字
写了后三以后虽然可以直接看见所找到文本,但是FindDalog丢失了焦点。而系统的记事本中可以在焦点为FindDalog的时候查看主窗体中被选中的内容,请问这是怎样实现的?

解决方案 »

  1.   

                Form2 frm = new Form2();
                frm.Show(this);假设Form2为你的查找窗体,Show时,指定mainform为主窗体。 
      

  2.   

    回2楼我有这一句
    private void 查找ToolStripMenuItem_Click_1(object sender, EventArgs e)
            {
                Form2 find = new Form2(); ;
                find.t = this.textBox1;
                find.Show(this);
            }
    但我想问的是如图所示的效果:
    系统记事本,焦点在查找窗体,主窗体能看见选择的文本
    我写的,焦点必须换到主窗体时才能看见选择的文本
      

  3.   

    参考
    http://topic.csdn.net/u/20100324/10/31138da4-b674-4165-ae1c-b8385237b542.html
      

  4.   

    回5楼,我看了一下,不过把我的问题总结一下应该是,如何使textbox在不获得焦点的情况先看见其选中的内容,我并不想改变当前焦点
      

  5.   

    this.textBox1.HideSelection = false;