三层登录的实例使用C#敲的,我也模仿例子,自己实现了一下,例子中,只有你所有的东西都是正确的时候,它才会实现应有的功能,一旦有一点没有通过验证,就会非常不友好的抛出错误,正好我的机房重构也是用C#敲的,在总结三层的时候,顺便把机房登录的问题也总结了吧。我修改了好久,大部分不友好的地方都改完了,剩下最后一个难题,在看董胜娇博客的时候解决了。接下来说一下我遇到的问题和解决办法。
三层,对于我们以前的知识来说是一个新鲜的事物,因为以前做的系统用的VB是面向过程的编程方法,突然之间用到了面向对象,而面向对象三大特性中,封装继承多态在哪里体现出来?我觉得就是在实现代码时,三层七层划分严明,非常好的解除了模块间的耦合度,大大有利于后期维护,在如今大软件越来越多的情况下,面向对象的使用是必然的。
static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> //[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmLogin());//FrmLogin就是登录窗体 if (FrmMain.isRunMain == true) { Application.Run(new FrmMain());//FrmMain就是我们要显示的主窗体 } } }2、接下来,在登录窗体上写
if (true)//登录成功 { FrmMain frmMain = new FrmMain(); FrmMain.isRunMain = true; frmMain.Show(); this.Close(); }3、最后,在主窗体也就是我们要显示的窗体上声明
public static bool isRunMain = false;好了,这个问题就解决了。这里面的逻辑关系很好懂,相信大家都能看的很明白。
private void timer1_Tick(object sender, EventArgs e) { lblTime.Text = string.Format("当前日期时间:{0}",DateTime.Now); }这样就行了,非常的简单。
Public static string User;然后,在登录的时候,顺便存储一下这个变量,当用到这个用户名的时候,直接使用就可以了。