C#窗体简单登录

创建一个Windows登录程序,创建两个窗体,一个用来登录,一个为欢迎窗体,要求输入用户名和密码(以个人的姓名和学号分别作为用户名和密码),点击【登录】按钮登录,登录成功后显示欢迎窗体。点击【退出】按钮关闭程序

提示:使用PasswordChar属性设置TextBox的密码输入。

快捷键直接在Button的Text后面加&字母,如&L,则使用ALT+L即可!

扩展:用户名或密码错误,则显示"用户名或密码错误!"提示框(用MessageBox)。并且规定用户错误输入不超过3次,否则直接退出。

public partial class Form1 : Form

{

int i = 0;

int MaxLoginAttempts = 3;

string correctUsername = "admin";

string correctPassword = "001";

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text != correctUsername && textBox2.Text != correctPassword)

{

MessageBox.Show("用户名或密码错误!", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);

i++;

if (i >= MaxLoginAttempts)

{

MessageBox.Show("您已被锁定,请稍后再试。", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Information);

this.Close();

}

}

else

{

MessageBox.Show("登录成功!", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);

Form2 login = new Form2();

login.Show();

}

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

相关推荐
HideF2 小时前
Linux
linux·服务器·网络
小徐不徐说4 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
论文复现现场4 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
乌恩大侠5 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__5 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
心梦缘-雪雁7 小时前
SQL Server 查询数据存在哪个表里
数据库
迪菲赫尔曼7 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
lusklusklusk7 小时前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
GeW8 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库