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

相关文章

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3