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

程序运行截图:

5.C#WinForm基础登陆失败三次退出系统,布布扣,bubuko.com

时间: 2024-08-05 19:35:36

5.C#WinForm基础登陆失败三次退出系统的相关文章

完成一个登陆页面。(用户名:F11;密码:123456)。要求用户输入用户 名和密码,验证是否等于正确值。如果等于告知登陆成功,程序结束;否则告 知用户名密码有误。用户三次输入不正确,告知登陆失败,程序结束 。

#include <stdio.h>#include <string.h> /*完成一个登陆页面.(用户名:F11:密码:123456).要求用户输入用户名和密码,验证是否等于正确值.如果等于告知登陆成功,程序结束:否则告知用户名密码有误.用户三次输入不正确,告知登陆失败,程序结束 .*/ void main(){ char username[20]; char password[20]; int i = 0; for(i = 0; i < 3; i++) { printf(

Python学习之旅 —— 基础篇(三)set集合、函数、文件操作

本篇要点: 数据类型:set集合 函数 文件操作 三元运算(三目运算)和lambda表达式 一.set集合 python中数据类型的一种,是无序并且不重复的数据集合.set源码: class set(object): """ 创建set集合 set() -> new empty set object 把可迭代的数据类型转换成元组 set(iterable) -> new set object Build an unordered collection of uni

4.C#WinForm基础图片(显示和隐藏)

要求: 软件上有一张图片,默认是隐藏的.用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁,则显示图片. 知识点: 取当前年份,Date Time Now Year所需用到的函数 函数一: string string.Substring(int startIndex,int length)(+1重载)                从此实例检索字符串.子字符串从指定的字符位置开始且具有指定的长度          异常:              

【2017-04-24】winform基础、登录窗口、窗口属性

一.winform基础  客户端应用程序:C/S 客户端应用程序可以操作用户电脑中的文件,代码要在用户电脑上执行,吃用户电脑配置. 窗体是由控件和属性做出来的 控件:窗体里所放的东西."视图"中的"工具箱"   鼠标左键按住控件拖到窗体中去. 选中要操作的空间右键选择"属性",来操作当前控件的属性 Label  在窗体中显示的文字. Button  按钮 TextBox  文本框 CheckBox  多选 RadionButton  单选 Com

3.C#WinForm基础累加器

功能:实现累加计算. 知识点: bool int.TryParse(string s,out int result)(+1重载) 将数字的字符串形式转换为它的等效的32位有效的有符号整数,一个指示操作是否成功的返回值. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usi

C#编译基础知识(三)

本文章我们将来重点介绍强命名程序集,强命名程序集的出现其实是为解决版本控制问题,比如说,在新版程序集发布后,我们希望在系统中对旧程序集的引用继续保留,而有些地方又可以引用新的程序集,再比如说不同的公司提供了不同功能的程序集,这些类库存放在一个公共目录,有时候可能会出现名称相同的情况.使用强命名程序集可以解决这些问题,一个强命名的程序集是靠公钥标示.程序集版本号.区域属性.程序集名称这四个属性来唯一标识的,这样一来,新发布的库文件版本与前面发布的不同,不同的版本引用可以在元数据里面标识,相互不会受

1.C#WinForm基础制作简单计算器

利用c#语言编写简单计算器: 源码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 简单计算器 { public partial class Form1 : Form { public For

SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)

转自:http://www.cnblogs.com/zerocc/p/3425431.html 昨天在测试一些权限今天早上来就发现SQL SERVER 登陆不上去,报错为: 用户登陆失败:消息 18456,级别 14,状态 1,服务器 XXX,第 1 行 .  用户 'XXX' 登录失败.我的服务和代理都是自动启动的,所以问题不在这了,由于是本地服务,也没有多个帐户,测试的时候Sa也被自己禁用了.有的用户就是部分库的只读权限,怎么办呢? 方法就是:把 sql 启动到单用户模式,然后用 sqlcm

C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

?? C语言基础课程 第三课 ADB(Android Debug Bridge)的使用 由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能安装软件  卸载软件与pc传数据 目  录 1       将android设备通过USB连接到PC. 3 2       查看当前设备... 3 3       进入设备shell. 4 4       执行shel