w_main newForm =new w_main()
newForm.Show这样应该可以了。

解决方案 »

  1.   

    你要先创建实例呀,
    w_main newForm =new w_main();
    newForm.Show();
      

  2.   

    因为你的主窗体是建立在登陆窗体之上的
    对于程序而言,登陆窗体才是主窗体,所以w_login.Close()之后,程序就退出了
    可以修改为w_login.Hide();
    另一种方法是直接进入主窗体,然后由主窗体调用登陆窗口的showDialog()
    如果输入正确就退出登陆窗体。
      

  3.   

    你应该把应用的启用建立在W_Main上,在其LOAD中加载LOGIN窗口,这样就不会出现你所说的情况。
      

  4.   

    谢谢
    1。我的窗口以经建了实例了。
    2。用w_login.Hide();登录窗口不会释放,占用资源,好像不太好。
    3。直接进入主窗口的方法肯定可以。是不是还有别的方法?
      

  5.   

    在你的login窗口中放一个public bool xxx = false;
    在登陆验证成功后,xxx = true;
    mainform里面就用if(login.xxx == true)来判断是不是应该Application.Run(new MainForm()),这样就实现了login
    在login窗口里面设置xxx = true之后,可以用this.Close()直接关闭login窗体,完全不用Hide方法