在C#中怎样才能实现这样的程序,即首先出现一个登录窗口,输入用户名和密码,验证通过后,LOGIN窗口消失,主窗口frmMain出现。
       这样的程序通过DELPHI很好实现,不知道在C#中怎样才能实现?

解决方案 »

  1.   

       private void Form1_Shown(object sender, EventArgs e)
            {            Login loginForm = new Login();            loginForm.ShowDialog(this);            if (loginForm.DialogResult == DialogResult.Cancel)
                {
                    canclose = true;
                    this.Close();
                }            else
                {}
    }
    先显示主窗口再提示要登陆的
      

  2.   

     如果验证成功让它弹出对话框 
     DialogResult result = MessageBox.Show("验证成功" ,提示信息",   MessageBoxButtons.YesNo,  MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                { 
                  //主窗口关闭
                   this.close();    
                   frommain fm=new frommain();
                   fm.show();
                 }
               else
               {MessageBox.show("您输入的验证信息没有通过");}
      

  3.   

    Form.Hide();或者Form.Close();或者Form.Dispose();
    另一方面 Form.Show();我快转生了  LZ结贴**************************************************************************************************
    CSDN最大的技术交流QQ群:37390940(共同学习.Net技术,分享.Net学习资料,分享.Net工作机会,同城互动)
    **************************************************************************************************
      

  4.   

    在成功是 加入以下代码
    main(要弹出的窗体名) m=new main();
    m.show();
    this.hied()(隐藏该窗体 单词我一下子不能确定 一般会有提示 即中文说明);
      

  5.   

    formmain main=new formmain;
    main.show();
    this.close();
      

  6.   

      Form2 a = new Form2();
                a.Show();
                this.Hide();
      

  7.   

             [STAThread]
            static void Main()
            {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    LoginForm dialog = new LoginForm();
    if (dialog.ShowDialog() == DialogResult.OK)
    {
    Application.Run(new MainForm());
    }
            }
      

  8.   

    先隐藏后关闭。在登录按钮下添加如下代码:
    this.hide();
    FormMain fm=new FormMain();
    fm.show();
    this.close();
      

  9.   

    在主窗体的load事件中隐藏(frmMain.hide)主窗体(frmMain),
    然后调用登陆窗体(frmLogin login=new frmLogin();login.show();),当登陆成功时,登陆窗体关闭(login.close()),主窗体显示(frmMain.show);
    在登陆窗体退出则退出应用程序(Application.Exit())。
      

  10.   

    没啥好说的,楼主思路很清晰,只要想办法把业务逻辑转换成代码就行了输入用户名和密码--> 输入帐号密码
    验证--->这里就关系到ADO.NET,验证密码?怎么验证?用User输入的用户名和密码与数据库对比,怎么对比?我想和DELPHI一样把,只是语法不同。
    通过LOGIN窗口消失-->通过了,接下来要做的就是如何隐藏一个winform窗体
    主窗口frmMain出现-->最后如何打开一个winform窗体
      

  11.   


     DialogResult result = MessageBox.Show("验证成功" ,提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
      if (result == DialogResult.Yes)
      {  
      //主窗口关闭
      this.close();   
      frommain fm=new frommain();
      fm.show();
      }
      else
      {MessageBox.show("您输入的验证信息没有通过");
    }
      

  12.   


        这个方法最好,跟DELPHI中的实现一样,建议大家都采用这种方法。