登陆窗体输入正确用户名跟密码后进入主页面,该怎么关闭登陆窗体?

解决方案 »

  1.   

    在你打开窗体后加个
    this.Hide();
      

  2.   

    用this.Hide()当我把主窗体关闭,但该程序还在运行,还有其他方法吗?
    this.hide()是不是把登陆窗体隐藏起来了?
      

  3.   

    只能隐藏。不能关闭。
    方法为this.Hide();
      

  4.   

    你的program.cs文件里,有个Application.Run(new FrmLogin());
    其中括号里的那个窗体就是程序开始运行的窗体。如果结束了,程序也就退出了。所以,只能隐藏。
      

  5.   

    Application.Run(main());
    在main窗体的构造函数中加入
    login=new login()
    login.showDialog();
    this.visiable=false;验证通过生
    this.visiable=true
    lgoin.close()
      

  6.   

    遇到过一样的问题
    我也用hide
    在主窗体关闭时候,closing事件加了 this.Dispose()
    要不隐藏的登录窗体最后还是没关闭~~~
    期待正确的解决方法
      

  7.   

    假登录窗体为login,主窗体为mainForm
    则program中的main()方法这样写
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                //登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK
                //失败返回其他值            login l = new login();
                if ( l.ShowDialog() != DialogResult.OK )
                {
                    //验证失败
                    return;
                }            //打开窗体
                mainForm m = new mainForm();
                //放置显示主窗前需要做的其他准备工作,如果没有,则忽略
                //....
                //...            Application.Run( m );
            }
      

  8.   

    你的不行是指什么啊,不能弹出登录对话框?还是不能进入到主程序?
    关键是,你login窗体里,有没有设置窗体的返回值啊,
    就是
    如果验证通过,要有这句
                this.DialogResult = DialogResult.OK;
    验证失败,要有这句
                this.DialogResult = DialogResult.Cancel;
      

  9.   

    登陆页面代码如下:
     private void button1_Click(object sender, EventArgs e)
            {  
                    SqlConnection objcon = new SqlConnection("server=.;uid=sa;pwd=314;database=pubs");                objcon.Open();                SqlCommand objcom = new SqlCommand("select * from jobs where job_id=@job_id and min_lvl=@min_lvl",objcon);                objcom.Parameters.Add(new SqlParameter("@job_id", SqlDbType.NVarChar, 2));                objcom.Parameters["@job_id"].Value = this.textBox1.Text;                objcom.Parameters.Add(new SqlParameter("@min_lvl", SqlDbType.NVarChar, 20));                objcom.Parameters["@min_lvl"].Value = this.textBox2.Text;                SqlDataReader objread = objcom.ExecuteReader();                if (objread.Read())
                    {                  
                        MessageBox.Show("登陆成功!");                                        Form2 re = new Form2();                    re.ShowDialog();                    //this.Hide();                    //this.Dispose();
                    }
                    else
                    {
                        MessageBox.Show("登陆失败!");
                    }           
    Program代码如下:
     static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                //Application.Run(new Form1());               //登录窗体作为模态对话框显示,如果验证通过返回 DialogResult.OK
                //失败返回其他值            Form1 l = new Form1();
                if (l.ShowDialog() != DialogResult.OK)
                {
                    //验证失败
                    return;
                }            //打开窗体
                Form2 m = new Form2();
                //放置显示主窗前需要做的其他准备工作,如果没有,则忽略
                //....
                //...            Application.Run(m);
            }
    现在能显示主页面窗体,但登陆页面没关闭?
      

  10.   

    可以实现的!
    private void frmMain_Load(object sender, EventArgs e)
            {
                showLoginAndGetAuths();
              }
     private void showLoginAndGetAuths()
            {
                DeviceApp.frmLogin frm = new frmLogin();
                frm.connString = connstring;
                if (frm.ShowDialog() == DialogResult.Cancel)
                {
                    is_Close = true;
                    this.Close();
                }
                else
                {
                    operatorId = frm.returnValue;
                    BaseItem.baseOperator.empid = operatorId;
                    BaseItem.baseOperator.connString = connstring;
                    //取出该用户的权限........
                    if (loadAuths(operatorId) != "")
                    {
                        return;
                    }
                }
                this.toolStripStatusLabel1.Text = "操作员:" + getOperatorName(operatorId);
                
            }在frmLogin中,当验证通过的时候:
    this.DialogResult = DialogResult.OK;
    就可以了!
      

  11.   

    我在没在登陆页面加
    如果验证通过,要有这句 
                this.DialogResult = DialogResult.OK; 
    验证失败,要有这句 
                this.DialogResult = DialogResult.Cancel;  谢谢sdfkfkd!!  也谢谢其他回帖的人!!