虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > WindowsPhone/WindowsMobile > Windows Mobile 开发界面之WelcomeForm->UserLoginForm->MainPanelForm

Windows Mobile 开发界面之WelcomeForm->UserLoginForm->MainPanelForm
类别:WindowsPhone/WindowsMobile   作者:码皇   来源:互联网   点击:

每个项目都会有一个主程序窗口,在客户端应用软件上更是如此。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对象
    ........
                //初始化用户配置文件
    .........  
                //初始化版本信息
    .........
                //登录界面 www.2cto.com
                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的专栏

相关热词搜索: Windows Mobile 开发