欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Windows Mobile 开发界面之WelcomeForm->UserLoginForm->MainPanelForm

程序员文章站 2023-04-01 18:30:41
每个项目都会有一个主程序窗口,在客户端应用软件上更是如此。mainpanelform 是主程序窗口,userloginform是用户登录窗口,welcomeform是欢迎界面。 效果: 点击程序进入...

每个项目都会有一个主程序窗口,在客户端应用软件上更是如此。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的专栏