首页 > 代码库 > 5.C#WinForm基础登陆失败三次退出系统

5.C#WinForm基础登陆失败三次退出系统

目标:

          登陆界面,登陆错误三次退出程序。假设用户名密码是admin、888888,
不区分大小写,(易错点:局部变量与类变量)

       局部变量每次运行完毕变量的值都会被销毁,下次再运行,会重新初始化。
       而类字段,只要是一个对象,那么只要对象不销毁,就会一直保持对象的字段值。


     退出程序:this.close();或者Application.Exit();   

     文本框的集中模式:Mutiline(多行)、PasswordChar(密码)

     string Datatime().ToString()(+3重载)
     将当前System.DataTime对象的值转换为其有效的字符串表示形式

源码如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 登陆错误三次程序退出{    public partial class Form1 : Form    {        private int ErrorTimes = 0;        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            string username = textBox1.Text;            string password = textBox2.Text;                       if (username.Equals("admin", StringComparison.OrdinalIgnoreCase) && password == "888888")            {                MessageBox.Show("登陆成功!");            }            else             {                /*错误方法                 *******************************                     int TimeErrors = 0;                 TimeErrors++;                 if (TimeErrors>= 3)                 {                     MessageBox.Show("错误次数过多,程序即将退出!");                     Application.Exit();                 }                 **********************************/                /*************************************                 * 局部变量每次运行完毕变量的值都会被销毁,下次再运行,会重新初始化。                 * 而类字段,只要是一个对象,那么只要对象不销毁,就会一直保持对象的字段值。                  * ************************************/                ErrorTimes++;                if (ErrorTimes >= 3)                {                    MessageBox.Show("错误次数过多,程序即将退出!");                    Application.Exit();//退出程序需使用:this.close();或者Application.Exit();                }                MessageBox.Show("账号或密码不正确,登陆失败!");            }        }        private void button2_Click(object sender, EventArgs e)        {            /*string Datatime().ToString()(+3重载)             * 将当前System.DataTime对象的值转换为其有效的字符串表示形式             */            textBox3.AppendText(DateTime.Now.ToString() + "\n");           /*            * textBox3.Text = textBox3.Text + DateTime.Now.ToString() + "\n";            * 虽然也可以用这种,但不推荐用这种.            */        }    }}

程序运行截图: