zoukankan      html  css  js  c++  java
  • 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() + "
    ");
    
               /*
                * textBox3.Text = textBox3.Text + DateTime.Now.ToString() + "
    ";
                * 虽然也可以用这种,但不推荐用这种.
                */
            }
        }
    }

    程序运行截图:

  • 相关阅读:
    问题-Delphi在多线程中使用其他窗体上的控件,报“尚未调用CoInitialize”解决方法
    问题-Delphi不能进行调试模式
    问题-Delphi为什么不能连接oracle
    问题-delphi无法编辑oracle表
    问题-[致命错误] Project1.dpr(1): Unit not found: 'System.pas' or binary equivalents (DCU,DPU)
    问题-Delphi编译时提示缺少delphi自己的单元文件
    教程-Delphi7 自带控件安装对应表
    问题-提示“adodataset.command”
    问题-提示“不正常地定义参数对象。提供了不一致或不完整的信息。”
    问题-[Delphi]提示Can't load package:dclite70.bpl解决方法
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/3889080.html
Copyright © 2011-2022 走看看