在主窗体中,通过一下代码显示从窗体 
        Form2 f2 = new Form2(); 
        private void button1_Click(object sender, EventArgs e) 
        { 
            f2.ShowDialog(); 
        } 
子窗体里,以下代码隐藏自己 
        private void button1_Click(object sender, EventArgs e) 
        { 
            this.Hide(); 
        } 但是,从窗体隐藏了,主窗体有时候也会自动最小化。我的意思是,有时候不最小化,有时候最小化,你们遇到过么?怎么才可以避免这个问题? 

解决方案 »

  1.   

    从窗体隐藏了,主窗体有时候也会自动最小化。我的意思是,有时候不最小化,有时候最小化
    没明白到底描述了什么.....
    [align=center]*********************************************************** 
                       欢迎使用 CSDN 小秘书
                      .Net 学习QQ群,欢迎加入: 67784580
    ***********************************************************
    [/align]
      

  2.   

    这种问题没有印象,应该不是什么问题。。f2.ShowDialog();之前指定 f2.Owner = this;
    子窗体里指定 MainForm frm = (MainForm)this.Owner;这样指定了两个窗口的父子关系,就算主窗体会自动最小化,你也可以在this.Hide();后自己让父窗口显示出来,frm.Show();
      

  3.   

    子窗体关闭的时候:
    this.Owner.Show();
    this.Dispose();//只会释放当前窗体试试这两行
      

  4.   

    子窗体关闭时,让主窗体.Activate();
      

  5.   

    f2.show()
    就不会出现那种情况。
      

  6.   


      private void button1_Click(object sender, EventArgs e)  
      {  
          Form2 f2 = new Form2();
          f2.ShowDialog();  
      }
      

  7.   

    话说这个问题我总感觉眼熟,前几天提过吧?没有解决,不是说了是showdialog()的原因吗?
      

  8.   

    你不该用showdialog,必然如果这个没返回值,你主窗口是没法操作的,你可以用show实现你的需求
      

  9.   

    我这个功能.只有showdialog才能实现效果。
      

  10.   


     Form2 f2 = new Form2();  
      private void button1_Click(object sender, EventArgs e)  
      {  
       if(f2.ShowDialog() != DialogResult.OK)
        {
         return;
        }
      }  
    子窗体里,以下代码隐藏自己  
      private void button1_Click(object sender, EventArgs e)  
      {  
     this.DialogResult = DialogResult.OK;
      this.Hide();  
      } 
      

  11.   

    我又测了下,你如果子窗体用Show()的话子窗体Hide后主窗体不会最小话,但用ShowDialog()的话主窗体是会在子窗体Hide后最小化的。private void button1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Owner = this;
        f2.ShowDialog();}  
    我在子窗体Hide();后加了一句this.Owner.Show();这样主窗体就不会最小化了。private void Form2_Load(object sender, EventArgs e)
    {
        Form1 f1 = (Form1)this.Owner;
    }private void button1_Click(object sender, EventArgs e)
    {
        this.Hide();   
        this.Owner.Show();
      

  12.   

    你新建一个测试项目,创建俩Form试试这代码看看效果。