Files
IOT_SIM/samples/p1-t1-登录/Login.cs
T
xuyueandClaude Opus 5.5 8feda289de 多窗体:新建 / 删除窗体,项目 1 登录示例;标识符支持中文
- 新建窗体:生成与 VS 新建窗体相同的 X.cs 和 X.Designer.cs,沿用工程命名空间;
  删除窗体(启动窗体不能删)
- 标签页按窗体分组,启动窗体排在最前并默认打开
- 运行时点哪个窗口哪个到最前;消息框始终在所有窗口之上
- 示例:项目 1 任务 1 登录与增加用户,两个窗体的 Designer.cs 由设计器引擎生成;
  修正书上未声明的 change 变量、关闭后重复 Show 已释放窗体的问题
- 设计器的正则支持中文控件名、类名、命名空间
- 修正:切换窗体时属性窗口的名称没有刷新
- 测试:多窗体端到端测试;新窗体模板测试

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:23:37 +08:00

58 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 登录
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
}
public bool IsLogin = false;//定义登录标识
private void btnOk_Click(object sender, EventArgs e)
{
for (int i = 0; i < PublicData.SysUserName.Length; i++)
{
string usr = PublicData.SysUserName[i];
string pwd = PublicData.SysPwd[i];
if (txtUserName.Text == usr && txtPassword.Text == pwd && txtUserName.Text != "")//遍历用户名密码是否存在
{
IsLogin = true;//变更登录标识
MessageBox.Show("登录成功,欢迎进入!", "登录");
PublicData.intUser = i;//存储当前用户在数组中的索引
break;//结束循环
}
else
IsLogin = false;
}
if (IsLogin == false)
{
MessageBox.Show("无效的密码或用户名,请重试", "登录");
txtPassword.Focus();
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
IsLogin = false;
this.Close();//关闭当前窗体
}
private void btnAdd_Click(object sender, EventArgs e)
{
AddUser addfrm = new AddUser();//实例化添加用户窗体
addfrm.Show();//显示增加用户窗体
}
}
}