我做的是确摸屏程序,想在程序启动时首先显示欢迎窗体,然后点击在欢迎窗体上显示登录窗体,输入用户名和密码进行登录,登录成功显示主窗体(MDI),主窗体上要得到登录时用户的资料、权限等,主窗体关闭时要重新回到欢迎窗体。请帮忙给想想办法。1、用户的资料如何保存?如何传递?
2、程序退出时如何回到欢迎窗体?
3、程序的启动流程如何控制?

解决方案 »

  1.   

    1、用户的资料如何保存?如何传递? 用静态成员保存2、程序退出时如何回到欢迎窗体? 在主窗体Closing事件将 主窗体隐藏--显示欢迎窗体--延时--销毁欢迎窗体3、程序的启动流程如何控制?
     主窗体的Load事件中 主窗体隐藏--显示欢迎窗体--延时--销毁欢迎窗体--显示登陆窗体(showdialog)--登陆成功显示主窗体,否则退出
      

  2.   

    Vb.net做法:
    一、建立Module类,保存用户的资料..
    二、在主窗体Closing事件,显示欢迎窗体
    三、程序的启动流程如何控制?
     主窗体的Load事件中 dim login as new frmlogin 
                         fm.ShowDialog(Me) 
    if 成功 then
    显示主窗体
    else
    不显示!
    end if
      

  3.   

    ///////////////////////////////////////////////////////
    //  我的代码,能够实现基本的功能,不知道是不是规范。//
    ////////////////////////////////////////////////////////主窗体加载
    private void MainForm_Load(object sender, System.EventArgs e)
    {
        this.Hide();
        frmWelcom tempfrmWelcom =new frmWelcom();
        tempfrmWelcom.ShowDialog();
        this.Show();
    }
    //主窗体退出菜单功能
    private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
    {
        this.Hide() ;
        frmWelcom tempfrmWelcom =new frmWelcom();
        tempfrmWelcom.ShowDialog();
        this.Show() ;
    }
    //欢迎窗体调用登录窗体
    private void pictureBox1_Click(object sender, System.EventArgs e)
    {
       login2 templogin2 = new login2();
       templogin2.Tag =this;
       templogin2.ShowDialog();
    }
    //登录窗体
    private void simpleButton1_Click(object sender, System.EventArgs e)
    {
        string userid=this.UserName.Text.Trim();
        string userpassword=this.UserPassWord.Text.Trim();
        usersort=jczx.RulesLevel.UserCheck.UserSortCheck(userid,userpassword);//返回用户类型。
        if(usersort!="nobody")
       {
    this.Close();//通过登陆,关闭登陆窗口。
    ((frmWelcom)this.Tag).Close();//登录成功,关闭欢迎窗口

       }
      else
      {
          if(MessageBox.Show("输入用户密码有误,是否重新登陆","输入有误",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
        {
    this.UserPassWord.Clear();
    this.UserName.Clear();
    }//输入有误,要求重新输入。
       else
       {
    this.Close();

    }
      }
    }
      

  4.   

    发现新问题:重复登录-退出系统后,欢迎窗体、登录窗体、数字小键盘重复创建,内存占用越来越大!!!
    窗体被this.Close()后,没有释放内存呀。有没有办法,当应用程序用Application.Exit()后,立即重新自动启动呀?