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:如何实现成功登录后进入主界面?
下一个博客里面写!
- C#登录界面知识储备
- SSO单点登录的知识储备
- 知识储备
- 知识储备
- 知识储备:Java面试知识储备
- 知识储备1
- 邮箱产品知识储备
- 系统集成工程师--知识储备
- 驱动安装知识储备
- ORACLE ASM知识储备
- 多线程编程知识储备
- 短信储备知识
- 计算机网络知识储备总结
- Linux知识储备--硬盘
- Java知识学习储备
- 计算机网络知识储备总结
- Cocos知识储备
- 知识储备:HTTP协议
- Android静态注册内部类广播BroadcastReceiver
- PLSQL连接本地以及远程的oracle数据库(64位)
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- gcc命令精讲
- 华南师大外国语言文化学院考研历年分数线汇总【2010-2016】
- C#登录界面知识储备
- MySql最左前缀原则
- MySQL调优三步曲(慢查询、explain profile)
- iOS10获取相册/通讯录/相机/麦克风权限崩溃解决办法
- oozie Hive demo
- handler机制的原理
- android 拨打紧急号码
- Ultra-Pull-To-Refresh的一些问题
- Android Studio 单元测试(instrumentation)