直接上代码,核心代码如下:
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;
using System.Xml;
namespace WindowsFormsApp1
{
public partial class Login : Form
{
public Login()
{
InitializeComponent();
}
//集合(默认是私有的private)
List list = null;
private void Login_Load(object sender, EventArgs e)
{
//准备数据
//存储Xml文件中读取出来的对象数据
list = new List();
//创建文档
XmlDocument doc = new XmlDocument();
doc.Load("Person.xml");
//遍历节点
XmlElement person = doc.DocumentElement;
//获得根节点下面的所有节点
XmlNodeList xnl = person.ChildNodes;
//把文档中的对象转换为真正的对象
foreach (XmlNode item in xnl)
{
//读取数据,赋值给list集合
int id = Convert.ToInt32(item.Attributes.Value);
string name = item.InnerText;
int age = Convert.ToInt32(item.InnerText);
char gender = Convert.ToChar(item.InnerText);
// 开始创建一个对象
Student student = new Student();
student.Id = id;
student.Name = name;
student.Age = age;
student.Gender = gender;
//开始添加数据到list中
list.Add(student);
}
//Console.WriteLine(xnl);
}
private void btnLogin_Click(object sender, EventArgs e)
{
//用户登录
string s_id = this.txtID.Text.Trim();
int id = 0, age = 0;
if (s_id != "")
{
id = Convert.ToInt32(s_id);
}
string name = this.txtName.Text;
string s_age = string.Empty;
if ((s_age = this.txtAge.Text.Trim()) != "")
{
age = Convert.ToInt32(s_age);
}
//获得单选框中的文本
char gender = rbMale.Checked ? '男' : '女';
//新建一个用户登录的对象
Student loginStudent = new Student();
loginStudent.Id = id;
loginStudent.Name = name;
loginStudent.Age = age;
loginStudent.Gender = gender;
//定义一个标记
bool isLogin = false;
//开始和集合中的每一个对象进行比较(list中存放的是一个个Student对象)
for (int i = 0; i < list.Count; i++)
{
//Equals默认比较的是引用的地址是否相同
if (list.Equals(loginStudent))
{
MessageBox.Show("欢迎:" + loginStudent.Name + "登入学生管理系统!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
isLogin = true;
}
}
if (!isLogin)
{
MessageBox.Show("你的用户名或密码错误!", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
评论
填写昵称与邮箱即可评论,无需登录。