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

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee