Windows Mobile 开发界面之WelcomeForm->UserLoginForm->MainPanelForm
每个项目都会有一个主程序窗口,在客户端应用软件上更是如此。mainpanelform 是主程序窗口,userloginform是用户登录窗口,welcomeform是欢迎界面。
效果:
点击程序进入欢迎界面,欢迎界面一闪而逝,到登录界面,登录验证成功后跳转到主程序界面。将前两个窗体销毁。
主程序入口文件program.cs如下(main()方法在创建任何类或结构的实例前被调用,声明为static):
[csharp] static void main() {
//登录前初始化
welcomeform wf = null;
userloginform loginform = null;
try {
//欢迎界面
wf = new welcomeform();
wf.show();
//初始化公共ui对象
........
//初始化用户配置文件
.........
//初始化版本信息
.........
//登录界面
loginform = new userloginform();
wf.text = "";
//关闭欢迎界面
wf.close();
wf.dispose();
wf = null;
loginform.showdialog();
if (loginform.islogin) {
loginform.dispose();
application.run(new mainpanelform()); //主窗体
} else {
application.exit();
}
} catch (exception ex) {
debuglog.fatal("[程序关闭]" + ex.tostring());
} finally {
if (loginform != null) {
loginform.close();
loginform.dispose();
}
if (wf != null) {
wf.close();
wf.dispose();
}
}
}
static void main() {
//登录前初始化
welcomeform wf = null;
userloginform loginform = null;
try {
//欢迎界面
wf = new welcomeform();
wf.show();
//初始化公共ui对象
........
//初始化用户配置文件
.........
//初始化版本信息
.........
//登录界面
loginform = new userloginform();
wf.text = "";
//关闭欢迎界面
wf.close();
wf.dispose();
wf = null;
loginform.showdialog();
if (loginform.islogin) {
loginform.dispose();
application.run(new mainpanelform()); //主窗体
} else {
application.exit();
}
} catch (exception ex) {
debuglog.fatal("[程序关闭]" + ex.tostring());
} finally {
if (loginform != null) {
loginform.close();
loginform.dispose();
}
if (wf != null) {
wf.close();
wf.dispose();
}
}
}
程序入口,首先显示welcomeform界面,初始化一些操作后(即间隔一段时间),跳转到登录界面,关闭欢迎界面资源。欢迎界面之后,验证通过,设置如下:
[csharp] islogin = true;
this.close();
islogin = true;
this.close();
userloginform静态变量islogin是通过封装字段得到。
[csharp] boolean islogin = false;
public boolean islogin {
get {
return islogin;
}
set {
islogin = value;
}
}
boolean islogin = false;
public boolean islogin {
get {
return islogin;
}
set {
islogin = value;
}
}
以上是由程序启动开始,欢迎界面->用户登录界面->主窗口界面的流程。
补充:
前面说到main()函数,如果想要在关闭窗口时关闭整个程序,application.exit();即可。
摘自 whuarui2010的专栏