C#登录界面知识储备

来源:互联网 发布:2016年新疆网络管制 编辑:程序博客网 时间:2024/05/17 21:48

目标:C#做一个炫酷的登录界面

Q1:C#多个窗口时,窗口的执行顺序。

AN:   默认的Main函数是:函数在Program.cs里

        [STAThread]
        static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain()); //frmMain()是自己命名的窗口名称
}

      关键的是Application.Run(new frmMain());这一句,如果Run函数里是主窗口,则就要另外想办法在主窗口显示之前让用户登录;如果Run函数里创建的是登录窗口,则登录窗口完成其登录工作之后,就只能隐藏,而不能关闭,否则整个应用程序就结束了。

 两个解决方案:
  1)Application.Run(new frmMain());函数里创建主窗口,在主窗口加载后,显示之前使之隐藏并显示登录窗口,如果登录成功,则关闭登录窗口,显示主窗口;如果登录失败,则结束应用程序。这样处理有一个小问题,就是要无论登录是否成功,实际都要加载主窗口的。好处是不用修改Main函数,对一些用户来说,可能更好控制一些。

2)修改Main函数,使之在Application.Run(new frmMain());之前进行登录验证,登录成功则正常运行,登录失败则结束应用程序。大体过程如下:

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmLogin login = new frmLogin();
login.ShowDialog();    // 注意这个地方只能是ShowDialog,而不能是Show
if(login.HasLogin)       // 判断是否登录成功
{
login.Close();
Application.Run(new frmMain());
}
else
{
Application.Exit();
}
}

   !!!!frmLogin login = new frmLogin();//中的 frmLogin是你所命名的登录窗口的文件名。

 !!!!!第二种方法里面的函数报错,就换用: if (logi.ShowDialog() == DialogResult.OK)

   这样做的好处是在登录失败时,直接关闭应用程序,而无需加载主窗口

   以上的操作只是能够让程序执行的时候先看到登录界面,并不能实现登录和页面跳转。

Q2:实现成功登录

AN:button按钮调用函数

   private void button1_Click(object sender, EventArgs e)
        {
            String name = this.textBox1.Text;
            String Password = this.textBox2.Text;
            if (name.Equals("zjubme207") && Password.Equals("123456"))
            {
                MessageBox.Show("登录成功");
                
            }
            else
            {
                MessageBox.Show("登录失败!");
            }
        }

Q2:如何实现成功登录后进入主界面?

下一个博客里面写!

0 0
原创粉丝点击