今天用C#做的一个小的注册练习

下边是实现的代码:
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.Text.RegularExpressions;
namespace Registerting
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
txtUserName.Enter += new EventHandler(txtUserName_Enter);
txtUserName.Leave += new EventHandler(txtUserName_Leave);
txtPassword.Enter += new EventHandler(txtUserName_Enter);
txtPassword.Leave += new EventHandler(txtPassWord_Leave);
txtPWConfirm.Enter += new EventHandler(txtPWConfirm_Enter);
txtPWConfirm.Leave += new EventHandler(txtPWConfirm_Leave);
txtMail.Enter += new EventHandler(txtMail_Enter);
txtMail.Leave += new EventHandler(txtMail_Leave);
chkAll.Enter += new EventHandler(chkAll_Enter);
chkAll.Leave += new EventHandler(chkAll_Leave);
}
/// <summary>
/// txtUserName(用户名)失去焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtUserName_Leave(object sender, EventArgs e)
{
if (txtUserName.Text.Length < 1)
{
lblUNAttention.Visible = true;
lblUNAttention.Text = "用户名不能为空";
}
}
/// <summary>
/// txtUserName(用户名)获得焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtUserName_Enter(object sender, EventArgs e)
{
if (txtUserName.Text.Length > 0)
{
lblUNAttention.Visible = false;
}
}
/// <summary>
/// txtPassWord(密码)失去焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPassWord_Leave(object sender, EventArgs e)
{
if ((0 < txtPassword.Text.Length) && (txtPassword.Text.Length < 6))
{
lblPasswordAttenton.Visible = true;
lblPasswordAttenton.Text = "密码不能少于六位";
}
else if (txtPassword.Text.Length < 1)
{
lblPasswordAttenton.Visible = true;
lblPasswordAttenton.Text = "密码不能为空";
}
}
/// <summary>
/// txtPassWord(密码)获得焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPassWord_Enter(object sender, EventArgs e)
{
if (txtUserName.Text.Length > 0)
{
lblUNAttention.Visible = false;
}
else
{
lblUNAttention.Visible = true;
}
lblPasswordAttenton.Visible = false;
}
/// <summary>
/// txtPWConfirm(密码)失去焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPWConfirm_Enter(object sender, EventArgs e)
{
if (txtUserName.Text.Length > 0)
{
lblUNAttention.Visible = false;
}
else
{
lblUNAttention.Visible = true;
}
if (txtPassword.Text.Length > 0)
{
lblPasswordAttenton.Visible = false;
}
else
{
lblPasswordAttenton.Visible = true;
}
}
/// <summary>
/// txtPWConfirm(密码)获得焦点事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPWConfirm_Leave(object sender, EventArgs e)
{
if (txtPWConfirm.Text.Length < 1)
{
lblPWAttionC.Text = "确认密码输入不能为空";
lblPWAttionC.Visible = true;
}
else if (txtPWConfirm.Text != txtPassword.Text)
{
lblPWAttionC.Text = "两次密码输入不一致,\n请重新输入";
lblPWAttionC.Visible = true;
}
else if (txtPWConfirm.Text == txtPassword.Text)
{
lblPWAttionC.Visible = false;
}
}
private void txtMail_Enter(object sender, EventArgs e)
{
lblMAttion.Visible = false;
}
private void txtMail_Leave(object sender, EventArgs e)
{
string reg = @"^\s*([A-Za-z0-9_-]+(\.\w+)*@([\w-]+\.)+\w{2,10})\s*$";
if (txtMail.Text.Length < 1)
{
lblMAttion.Text = "邮箱输入不能为空";
lblMAttion.Visible = true;
}
else if (Regex.IsMatch(txtMail.Text, reg) == false)
{
lblMAttion.Text = "邮箱输入不合法";
lblMAttion.Visible = true;
}
}
private void chkAll_Enter(object sender, EventArgs e)
{
lblHobbyAttention.Visible = false;
}
private void chkAll_Leave(object sender, EventArgs e)
{
int sum = 0;
for (int i = 0; i < chklEate.Items.Count; i++)
{
if (chklEate.GetItemChecked(i) == true)
{
sum = sum + 1;
}
}
if (sum < 1)
{
lblHobbyAttention.Visible = true;
lblHobbyAttention.Text = "您还没有选择任何爱好";
}
}
/// <summary>
/// 全选或者全不选按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void chkAll_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < chklEate.Items.Count; i++)
{
if (chkAll.Checked == true)
{
//全选
chklEate.SetItemChecked(i, true);
}
else
{
//全不选
chklEate.SetItemChecked(i, false);
}
}
}
/// <summary>
/// 提交注册信息,如果注册信息都满足条件,那么提交成功,如果没有,则注册失败
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnRegister_Click(object sender, EventArgs e)
{
//邮箱的正则表达式
string reg = @"^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$";
int sum = 0;
//计算选择的爱好数目
for (int i = 0; i < chklEate.Items.Count; i++)
{
if (chklEate.GetItemChecked(i) == true)
{
sum = sum + 1;
}
}
//判断注册的所有信息是否合法,合法就注册成功,并关闭窗口
if ((txtUserName.Text.Length > 0) && (txtPassword.Text.Length > 5) && (txtPassword.Text == txtPWConfirm.Text) && (Regex.IsMatch(txtMail.Text, reg) == true) && (sum > 0))
{
DialogResult dr = MessageBox.Show("您注册成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (dr == DialogResult.OK)
{
this.Close();
}
}
else
{
MessageBox.Show("您注册失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 清空输入信息和提示信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnConcel_Click(object sender, EventArgs e)
{
txtUserName.Clear();
lblUNAttention.Text = "";
txtPassword.Clear();
lblPasswordAttenton.Text = "";
txtPWConfirm.Clear();
lblPWAttionC.Text = "";
txtMail.Clear();
lblMAttion.Text = "";
chklEate.ClearSelected();
lblHobbyAttention.Text = "";
chkAll.Checked = false;
}
}
}
今天用C#做的一个小的注册练习的更多相关文章
- FMX相当于在界面上自己又做了一个小操作系统
FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字:还有 ...
- DOM的利用冒泡做的一个小程序
我们都知道DOM的事件流,有冒泡事件,如何有效的利用冒泡? 优化:应该尽量少的添加事件监听:原理:每添加一个事件监听事件,就会在浏览器中添加一个EventListener,如果数量过多,浏览器只能一个 ...
- 加班两个星期做的一个小系统~(winform)
不管怎么样~加班两个星期,单独一人,努力将公司需要用的系统给做出来了,也感谢提供技术帮助的可爱人儿~ 首先,系统有个检测版本的功能,若版本不是最新的,则会自动更新(公司要求,必须强制更新)~ 更新界面 ...
- 基于Tkinter以及百度翻译爬虫做的一个小的翻译软件
首先看效果: 输入Hello, 可见输出 int. 打招呼 下面看源码: from tkinter import * import requests# 首先导入用到的库 request = reque ...
- 对于xss等有关的html,url,unicode编码做的一个小总结。
参考:http://bobao.360.cn/learning/detail/292.html,算是对前部分作一个总结性的学习. 1<a href="%6a%61%76%61%73%6 ...
- Angularjs做的一个小页面
<!DOCTYPE html><html lang="en" ng-app="todolist"> <head> <m ...
- 自己做的一个小demo
上图: 主段代码: <script type="text/javascript"> var getRandomColor = function(){ return (f ...
- 用Unity做的一个小游戏,仿照一个样例写的,个人认为文章写的不错,哈哈
- jquery做一个小的轮播插件---有BUG,后续修改
//首页无缝轮播 ; (function($, window, document, undefined) { $.fn.slider = function(options) { var default ...
随机推荐
- react.js 从零开始(七)React (虚拟)DOM
React 元素 React 中最主要的类型就是 ReactElement.它有四个属性:type,props,key 和ref.它没有方法,并且原型上什么都没有. 可以通过 React.create ...
- PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战
原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置: 程序准备: PHP windows版本下载地址: http://windows.php. ...
- Alice's Chance
id=1698" style="background-color:rgb(51,255,51)">主题链接 意甲冠军: 爱丽丝要拍电影.有n部电影,规定爱丽丝第i部 ...
- 异步编程(Async和Await)的使用
.net4.5新特性之异步编程(Async和Await)的使用 一.简介 首先来看看.net的发展中的各个阶段的特性:NET 与C# 的每个版本发布都是有一个“主题”.即:C#1.0托管代码→C#2. ...
- 深入理解C指针之三:指针和函数
原文:深入理解C指针之三:指针和函数 理解函数和指针的结合使用,需要理解程序栈.大部分现代的块结构语言,比如C,都用到了程序栈来支持函数的运行.调用函数时,会创建函数的栈帧并将其推到程序栈上.函数返回 ...
- nodeJS起步 1
nodeJS起步 -- (1) 先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行. nod ...
- Linux环境编程相关的文章
Linux环境编程相关的文章 好几年没有接触Linux环境下编程了,好多东西都有点生疏了.趁着现在有空打算把相关的一些技能重拾一下,顺手写一些相关的文章加深印象. 因为不是写书,也受到许多外部因素限制 ...
- python算法题
python几道简单的算法题 最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧. 1.题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都 ...
- IOS科研IOS开发笔记学习基础知识
这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...
- PHP经验——获得PHP版本信息及版本比较
原文:PHP经验--获得PHP版本信息及版本比较 偶然看到别人写的一句代码: <?php if (version_compare("5.2", PHP_VERSION, &q ...