4,2011.9.1用户登录,更换,密码更改

来源:互联网 发布:淘宝安装工怎样 编辑:程序博客网 时间:2024/05/29 17:41

main_form中3个按钮,

登录,更换用户,密码更改

登录按钮  与后2个按钮不同时有效

 //用户登录        private void login_barButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)        {            login_Form my_loging_form = new login_Form();            my_loging_form.Text = "用户登录";                        if (my_loging_form.ShowDialog() == DialogResult.OK)            {                this.login_barButtonItem.Enabled = false;                                 this.userchange_barButtonItem.Enabled = true;                                this.passwordChange_barButtonItem .Enabled = true;                //获取userName                this.my_userName = my_loging_form.userName;                this.my_userLevel = my_loging_form.userLevel;                this.Text = this.Text + "---" + this.my_userName;                my_checkLevel();            }            my_loging_form.Dispose();        }             //密码更改        private void passwordChange_barButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)        {            login_Form my_passwordChange_form = new login_Form();            my_passwordChange_form.Text = "密码更改";            my_passwordChange_form.userName  = this.my_userName.Trim();            my_passwordChange_form.ShowDialog();            my_passwordChange_form.Dispose();        }                //切换用户        private void userchange_barButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)        {            //关闭所有子窗口            foreach (Form child_form in this.MdiChildren)            {                child_form.Close();            }            //没有子窗口后,打开用户更换窗口                   if (this.ActiveMdiChild == null)            {                login_Form my_userChange_form = new login_Form();                my_userChange_form.Text = "更换用户";                my_userChange_form.userName = this.my_userName.Trim();                if (my_userChange_form.ShowDialog() == DialogResult.OK)                {                    this.my_userName = my_userChange_form.userName;                    this.my_userLevel = my_userChange_form.userLevel;                    if (this.Text.IndexOf("---") != -1)                    {                        this.Text = this.Text.Remove(this.Text.IndexOf("---"));                    }                    this.Text = this.Text + "---" + this.my_userName;                    my_checkLevel();                }                my_userChange_form.Dispose();              }                                         }       //按用户类型,给操作权限(使功能按钮可用)        private void my_checkLevel()        {            // throw new Exception("The method or operation is not implemented.");            this.buyList_barButtonItem.Enabled = my_userLevel[0] == '1';            this.LookList_barButtonItem.Enabled = my_userLevel[0] == '1';            this.inWareCheck_barButtonItem.Enabled = my_userLevel[1] == '1';            this.outWareCheck_barButtonItem.Enabled = my_userLevel[1] == '1';        }


 

使用的是一个LOGIN_form

根据不同要求,有区别

  private void login_Form_Load(object sender, EventArgs e)        {            this.userName_textEdit.Text = my_userName;            if (this.Text.Trim() == "密码更改")            {                this.userName_textEdit.Enabled = false;                this.ok_simpleButton.Visible = false;                this.change_simpleButton.Visible = true;                                this.password_textEdit.Focus();            }            else            {                this.userName_textEdit.SelectAll();                this.userName_textEdit.Focus();                if (this.Text.Trim() == "更换用户")                {                    this.ok_simpleButton.ImageIndex = 2;                    this.ok_simpleButton.Text = "更换";                }            }        }


 

定义2个与父窗口交换数据的变量

 private string my_userName;        private string my_userLevel;        public string userName        {            get            {                return my_userName;            }            set            {                my_userName = value;            }        }        public string userLevel        {            get            {                return my_userLevel;            }        }


 

dataset使用VS生成大笑

 

更改密码,只有一个长度的甄别

 //修改密码        private void change_simpleButton_Click(object sender, EventArgs e)        {            if (this.password_textEdit.Text.Trim().Length < 6)            {                MessageBox.Show("密码长度不得低于6字符", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);                this.password_textEdit.SelectAll();                this.password_textEdit.Focus();            }            else            {                try                {                    this.userListTableAdapter.Fill(this.sY_Store_DataSet.UserList);                    DataRow my_user_datarow = this.sY_Store_DataSet.UserList.Rows.Find(this.my_userName .Trim());                    if (my_user_datarow == null)                    {                        MessageBox.Show(this.my_userName + "  已被删除");                        this.DialogResult = DialogResult.Cancel;                    }                    else                    {                        my_user_datarow.BeginEdit();                        my_user_datarow["userpassword"] = this.password_textEdit.Text.Trim().ToLower();                        my_user_datarow.EndEdit();                        this.userListTableAdapter.Update(this.sY_Store_DataSet.UserList);                        this.DialogResult = DialogResult.OK;                    }                }                catch (System.Exception err)                {                    MessageBox.Show(err.Message);                }            }


登录用户与更换用户是相同的

private void ok_simpleButton_Click(object sender, EventArgs e)        {            this.errorProvider.Clear();            try             {                this.userListTableAdapter.Fill(this.sY_Store_DataSet.UserList);                DataRow my_user_datarow = this.sY_Store_DataSet.UserList.Rows.Find(this.userName_textEdit.Text.Trim());                if (my_user_datarow == null)                {                    this.error_pictureBox.Visible = true;                    this .Enabled =false ;                    this.userErr_timer.Start();//开始计时                    this.userErr_timer.Interval = 2000;//计时2秒                }                else if(Convert .ToString (my_user_datarow ["userpassword"])!=this .password_textEdit .Text .Trim ().ToLower ())                {                    this.error_pictureBox.Visible = true;                    this.Enabled = false;                    this.PassErr_timer.Start();                    this.PassErr_timer.Interval = 2000;                }                else                 {                    this.ok_pictureBox.Visible = true;                    this.my_userName = this.userName_textEdit.Text.Trim();                    this.my_userLevel =Convert .ToString ( my_user_datarow["userlevel"]).Trim ();                    this.Enabled = false;                    this.ok_timer.Start();                    this.ok_timer.Interval = 2000;                                   }            }            catch (System.Exception  err)            {                MessageBox .Show ( err.Message ) ;            }        }

 

设定了3个定时器,3个情况(用户名错,密码错,正确)

显示不同表情,不同的timer_tick事件

  private void ok_timer_Tick(object sender, EventArgs e)        {            this.ok_timer.Stop();            this.DialogResult = DialogResult.OK;        }        private void userErr_timer_Tick(object sender, EventArgs e)        {            this.error_pictureBox.Visible = false;            this.Enabled = true;            this.errorProvider.SetError(this.userName_textEdit, "此用户不存在");            this.userName_textEdit.SelectAll();            this.userName_textEdit.Focus();            this.userErr_timer.Stop();        }        private void PassErr_timer_Tick(object sender, EventArgs e)        {            this.error_pictureBox.Visible = false;            this.Enabled = true;            this.errorProvider.SetError(this.password_textEdit , "密码错误");            this.password_textEdit.SelectAll();            this.password_textEdit.Focus();            this.PassErr_timer.Stop();        }