C#学生撤回给你寄管理系统教程之登录界面设计

本文主要是介绍C#学生撤回给你寄管理系统教程之登录界面设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1,首先,打开Visual Studio 2015版本,新建Windows窗体应用程序

结果:

2,点击右侧工具箱,如果右侧没有,则在视图里面找到工具箱点击,拖拽三个label,两个textbox,两个button控件

一些属性值大家可以自行设置,我在这只讲几个我认为不好找的一些属性值

如果要添加背景图片,则需要把label,button背景改为透明,如果不改则会像下图一样

改的方法:label  backcolor属性中web下点击Transparent,

效果如下:




下面开始写登录事件处理

双击登录按钮进入

  private void button1_Click(object sender, EventArgs e)
        {

        }

这个函数,

下面是我写的代码

 private void login_Click(object sender, EventArgs e){string account = AccountBox.Text;string password = PasswordBox.Text.ToString();if (student.Checked){Student student = new Student(account, password);loginCheck check = new loginCheck(student);check.checkStudent();//进行账号密码判断if (check.UserError){if (check.PasswordError){this.Hide();new studentForm().Show();}else{//errorprovider控件提示信息this.errorProvider1.SetError(this.PasswordBox, "密码错误");}}else{//errorprovider控件提示信息this.errorProvider1.SetError(this.AccountBox, "不存在用户名");}}else if (teacher.Checked){Teacher teacher = new Teacher(account, password);loginCheck check = new loginCheck(teacher);check.checkTeacher();//进行账号密码判断if (check.UserError){if (check.PasswordError){this.Hide();new teachFrom().Show();}else{//errorprovider控件提示信息this.errorProvider1.SetError(this.PasswordBox, "密码错误");}}else{//errorprovider控件提示信息this.errorProvider1.SetError(this.AccountBox, "不存在用户名");}}}

中间有用到其他类里面的函数

代码如下:

using System;
using System.Data.SqlClient;
using System.Security.Cryptography;
using System.Windows.Forms;namespace MyClass
{/** 学生登录账号密码类*/public class Student{private String _ID;private String _password;public Student(){}public Student(String ID, String password){this._ID = ID;this.Password = password;}public string ID{get{return _ID; }set { _ID = value; }}public string Password{get{  return _password; }set{ _password = value; }}}/** 教师登录账号密码类* */public class Teacher{private String _ID;private String _password;public Teacher(String ID, String password){this._ID = ID;this.Password = password;}public string ID{get { return _ID; }set { _ID = value; }}public string Password{get {return _password; }set { _password = value;}}}/** 登录判断类*/public class loginCheck{private Student student;private Teacher teacher;private Boolean userError = false;private Boolean passwordError = false;private SqlConnection conn;private string pass;public bool UserError{get{return userError;  }set { userError = value; }}public bool PasswordError{get { return passwordError; }set {  passwordError = value; }}//private public loginCheck(Student student){this.student = student;student.Password = new passwordEncryption().MD5(student.Password);}public loginCheck(Teacher teacher){this.teacher = teacher;teacher.Password = new passwordEncryption().MD5(teacher.Password);}private void SQL(){conn = new SqlConnection("server=.;uid=sa;pwd=sq0318..;database=数据库综合实验");pass = null;conn.Open();}private void SQL_1(string sqlStr){SqlCommand cmd = new SqlCommand(sqlStr, conn);SqlDataReader dr = cmd.ExecuteReader();while (dr.Read()){pass = dr["password"].ToString();UserError = true;}if (UserError == true){if (teacher.Password == pass){PasswordError = true;}}}public void checkStudent(){SQL();string sqlStr = "select * from student where Sno = '" + student.ID + "'";SQL_1(sqlStr);}public void checkTeacher(){SQL();string sqlStr = "select password from teacher where Tno = '" + teacher.ID + "'";SQL_1(sqlStr);}}/**  密码进行加密类 */public class passwordEncryption{/** 密码加密方法*/public String MD5(String s){char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6','7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };try{byte[] btInput = System.Text.Encoding.UTF8.GetBytes(s);// 获得MD5摘要算法的 MessageDigest 对象MD5 mdInst = System.Security.Cryptography.MD5.Create();// 使用指定的字节更新摘要mdInst.ComputeHash(btInput);// 获得密文byte[] md = mdInst.Hash;// 把密文转换成十六进制的字符串形式int j = md.Length;char[] str = new char[j * 2];int k = 0;for (int i = 0; i < j; i++){byte byte0 = md[i];str[k++] = hexDigits[(int)(((byte)byte0) >> 4) & 0xf];str[k++] = hexDigits[byte0 & 0xf];}return new string(str);}catch{// Console.Error.WriteLine(e.StackTrace);return null;}}}
}

以上截图是我写好之后又重新弄得一个工程进行截得图,下面是我自己的截图


这个登录界面源码在https://download.csdn.net/download/qq_42110740/10487238这可以下载

之后每实现一点就会发上去一点,

这篇关于C#学生撤回给你寄管理系统教程之登录界面设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725866

相关文章

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

C#中字符串分割的多种方式

《C#中字符串分割的多种方式》在C#编程语言中,字符串处理是日常开发中不可或缺的一部分,字符串分割是处理文本数据时常用的操作,它允许我们将一个长字符串分解成多个子字符串,本文给大家介绍了C#中字符串分... 目录1. 使用 string.Split2. 使用正则表达式 (Regex.Split)3. 使用

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo