您的位置:首页 > 编程语言 > C#

C#的用户登录和界面嵌入设计

2017-03-29 21:37 387 查看
1、windowForm界面的登录一般出现在主界面之前,先验证登录信息,然后判断是否登录成功。可以新创建一个formLogin窗体。在系统初始化时,弹出窗口。控制界面和代码如下。

 static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

//登录窗体的实例化,并显示。

            FormLogin objectForm = new FormLogin();

            objectForm.ShowDialog();

            

                      

            Application.Run(new FormMain());

        }

登录按钮的控制代码

 private void btnLogin_Click(object sender, EventArgs e)

        {

            if(txtUserName.Text.ToString()=="" )

            {

                MessageBox.Show("账户不能为空", "登录提示");

                return;

            }

            if (txtPassWord.Text.ToString() == "")

            {

                MessageBox.Show("密码不能为空", "登录提示");

                return;

            }

            if (txtUserName.Text.ToString() == "ABC" && txtPassWord.Text.ToString() == "123456")

            {

               this.Close();

               // MessageBox.Show("  登录成功", "登录提示");

                return;

            }

            else

            {

                MessageBox.Show("账户或者密码错误", "登录提示");

                return;

            }

        }

放弃按钮的控制代码:

  private void btnCancel_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

2、主窗体中一般会嵌入多个窗体,这个时候就需要首先创建多个窗体界面,然后通过实例化的方式,将窗口嵌入到主窗口中。控制方式如下:

以上为新创建的4个窗口,主窗口,参数设置窗口,正面测试窗口,背面测试窗口

主界面如上图,通过点击上方按钮,来控制显示指定窗口。首先的方法是需要判断这个容器panel1中包含多少个控件,然后先逐一关闭控件,显示指定窗口。并设置窗口的属性。代码如下:

 private void BTNwindow2_Click(object sender, EventArgs e)

        {

            CloseForm();

            FormParamter objectForm = new FormParamter();

            OpenForm(objectForm);

        }

        private void BTNwindow3_Click(object sender, EventArgs e)

        {

            CloseForm();

            FormFrontTest objectForm = new FormFrontTest();

            OpenForm(objectForm);

        }

        private void BTNwindow4_Click(object sender, EventArgs e)

        {

            CloseForm();

            FormBackTest objectForm = new FormBackTest();

            OpenForm(objectForm);

        }

        public void OpenForm(Form objectForm)//传递一个窗口对象。

        {

            objectForm.TopLevel = false;//设置窗体不置顶

            objectForm.FormBorderStyle = FormBorderStyle.None;//使窗体无边框

            objectForm.WindowState = FormWindowState.Maximized;//使窗体最大化

            objectForm.Parent = this.panel1;//设置窗体的父窗口

            objectForm.Show();//显示当前窗体

        }

        public void CloseForm()

        {

            foreach (Control item in this.panel1.Controls)

            {

                if (item is Form)//遍历这个panel1中包含多少控件,并逐一关闭。

                {

                    Form objControl = (Form)item;

                    objControl.Close();

                    this.panel1.Controls.Remove(item);

                }

            }

        }

这里我们防止代码复用,特意将打开窗口和关闭窗口做一个简单的封装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: