解决方案 »

  1.   

    Form frm=new Form();
    frm.Show();
    this.Close();
      

  2.   

    提問是要講科學的,連是webform還是winform都沒說
      

  3.   

    Form frm=new Form();
    frm.Show();
    this.Close();大哥怎么都关了呀?
      

  4.   

    你在哪里写的代码啊?这个FORM要写你自己的要显示的的名称!不要直接拷过去就用吧!
      

  5.   

    hide 一下   。^_^ 
      

  6.   

    新的窗口也关了是因为在当前form关闭是整个程序退出了。在.net2.0里解决这个问题要复杂一点,要生成一个自己的ApplicationContext
    namespace HelloCsharp
    {
        class MyApplicationContext : ApplicationContext
        {
            public MyApplicationContext()
            {
                new Form1().Show();
            }    } static class Program
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
                            Application.Run(new MyApplicationContext());
    }
    }

             public partial class Form1 : Form
    {
    private void testBtn_Click(object sender, EventArgs e)
    {
                Form f = new Form();
                //this.Closed = null;
                f.Show();
                this.Close();
    }
    }
    }
    关键在MyApplicationContext类的定义,然后在Application.Run(new MyApplicationContext());用MyApplicationContext,二不是通常的Form.在.net3.5中,这个问题可以很容易解决,在Application类里面有一个静态属性,可以设置程序的突出模式,设成当最后一个窗口关闭是退出就行了
      

  7.   

    如果执行
                Form f = new Form();
                f.Show();
                this.Close();
    这几句代码的窗口不是主窗口,这几句代码是可以工作的。
      

  8.   

    从子窗体关闭主窗体Form1 frm=(Form1)this.Owner;
    frm.Close();
      

  9.   

    建议用panel做
    来回切换窗体实现起来比较麻烦