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";
            * 虽然也可以用这种,但不推荐用这种.
            */
        }
    }
}

程序运行截图:

 

posted @ 2014-08-03 23:13  技术宅星云  阅读(1783)  评论(0编辑  收藏  举报