在主窗体上点击一下BUTTON.会显示另外一个窗体。但这时候可以看到主窗体但是不能进行操作,只能操作新弹出的那个窗体。
当点击新弹出那个窗体的一个BUTTON后,自动返回主窗体(不是弹出新的主窗体,而是返回原来的这个。)
希望能写出代码。
感谢!!!

解决方案 »

  1.   

    改下主窗体的BUTTON的弹出代码就可以了
    你的应该是 FrmMain f=new FrmMain();f.showdialog();
    改成FrmMain f=new FrmMain();f.show();
    不以对话框窗体的形式显示就可以同时操作主窗体和子窗体了
      

  2.   

    谢谢!!如果我想弹出一个窗体 本窗体隐藏,用this.Hide(); 然后点弹出来的那个按钮 主窗体又显示出来 这个功能怎么实现?
      

  3.   

    楼主的这个问题是关于模态窗口和非模态窗口的区别。既然提出问题就要设法了解问题的本质。
    自己以前总结了点供楼主参考:
    (1)模式对话框要求操作者必须回答以后才能做下面的工作,可以阻止访问其它的窗体,用于颜色选择、字体设置及一些必要信息的输入等。
    (2)非模态对话框可以对主窗口进行操作,但一直会在主窗口上方,比如常用的查找和替换等;
    (3)二者都没有最大化最小化,所以都须设置为FALSE,都不能缩放对话框,须把FormBorderStyle设置为FixedDialog,都不会出现在任务栏上。
    (4)非模式对话框用.show()显示;模式对话框用.showDialog()显示。
      

  4.   

    主窗体  private void button1_Click(object sender, EventArgs e)
            {
                Form2 form2 = new Form2 ();
                form2.ShowDialog();
            }新窗体  private void button1_Click(object sender, EventArgs e)
            {
                this.close();
            }
      

  5.   

    主窗体Form2 frm = new Form2();
    frm.p = this;
    this.Hide();
    frm.ShowDialog();
    新窗体
    [/code]
    public Form p = null; //用于传递主窗体对象引用
    private void button1_Click(object sender, EventArgs e)
    {
        p.Show();
        this.Close();
    }
    [code=C#]
      

  6.   

     Private Sub btnSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSet.Click
            颜色设置.Visible = True  '弹出了新窗体
           me.Enabled = False ''第一个页面不可编辑了     ''第一个页面不可编辑了
         ' For Each a As Control In Me.Controls
           '        a.Enabled = False
          ' Next
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
              窗体1.Enabled = true
               me.Enabled = False 
                      End Sub