using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Net.Sockets; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; using StuMgmLib.MyNameSpace; namespace StuMgmClient { public partial class LoginForm : Form { public static LoginForm login; public LoginForm() { InitializeComponent(); } string userName = ""; string pawssWord = ""; DataSet ds = null; private void btnSubmit_Click(object sender, EventArgs e) { Login(); } //登陆方法 public void Login() { userName = txtUserName.Text; pawssWord = txtPassWord.Text; //if (!RegexUser(userName, pawssWord)) //{ // MessageBox.Show("用户名和密码必须包含数字,小写或大写,5到20位", "提示"); // return; //} Info.ServerSend ss = ConnectServer(); //权限管理 int powerNum = (int)ss.permission; ds = ss.ds; switch (powerNum) { case (int)Roles.Student: StudentForm stu = new StudentForm(ds); stu.Show(); login.Hide(); break; case (int)Roles.Teacher: TeacherForm tf = new TeacherForm(ds); tf.Show(); login.Hide(); break; case (int)Roles.Admin: AdminForm af = new AdminForm(); af.Show(); login.Hide(); break; case (Int32)Roles.NotFound: MessageBox.Show("账号或用户名错误", "提示"); break; } } //账号密码正则校验 public bool RegexUser(string u, string p) { var regex = new Regex("^(?![0-9]+$)(?![a-zA-Z]+$)(?![a-z!@#$]+$)(?![A-Z!@#$]+$)(?![\\d!@#$]+$)^[a-zA-Z\\d!@#$]{5,20}$"); //校验密码是否符合 bool resultU = regex.IsMatch(u); bool resultP = regex.IsMatch(p); if (resultU == true && resultP == true) { return true; } else { return false; } } //登陆连接服务器 public Info.ServerSend ConnectServer() { Socket client= ClientConnect.Connect("10.10.0.44", 502); if (client== null) { MessageBox.Show("连接失败", "提示"); return null; } else { ClientConnect.Send(client); Info.ServerSend ss = ClientConnect.Receive(client); return ss; } } //窗体加载 private void LoginForm_Load(object sender, EventArgs e) { login = this; } } }