从今天开始,我们进入到学window form的知识,今天简单的学习了一些控件和事件的运用。没有什么很全面的理论,所以今天就总结下所写的程序。一个简单的注册页面程序
注册页面程序
要求:
1:修改所有的控件Name 属性
2: 登录事件 检测各个控件是否为空,如果是空 弹出注册失败 如果成功 则显示新窗体 并且 新窗体上面显示 “XXX你好! 欢迎来到云和学院学习Net” 走马灯形式
密码输入三次那么登录按钮不可用 3分钟之后可用
把注册信息的各个数据按照 Rocky|admin|renyanlei@aliyun.com|18301412747|男|足球,篮球,排球”写入到一个文本文件中
代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int num = 1; //定义num是为了获取输入错误的次数
private void btnregster_Click(object sender, EventArgs e)
{
//如果达到三次则注册按钮将不能使用
if (num == 3)
{
this.btnregster.Enabled = false;
}
//定义字符串来接收文本数据
string user = this.txtname.Text.Trim();
string pwd = this.txtpwd.Text.Trim();
string email = this.txtemail.Text.Trim();
string phone = this.txtphone.Text.Trim();
//判断用户名、密码、邮箱、手机、性别、爱好是否为空,如果为空,则提示注册失败,否则则提示注册成功,进入下一个界面
if (string.IsNullOrEmpty(user))
{
MessageBox.Show("注册失败,未输入用户名!");
++num; //计时器的累加
}
else if (string.IsNullOrEmpty(pwd))
{
MessageBox.Show("注册失败,未输入密码!");
++num;
}
else if (txtaginpwd.Text != pwd)
{
MessageBox.Show("注册失败,确认密码必须保持一致");
++num;
}
else if (string.IsNullOrEmpty(email))
{
MessageBox.Show("注册失败,未输入邮箱");
++num;
}
else if (string.IsNullOrEmpty(phone))
{
MessageBox.Show("注册失败,未输入手机号");
++num;
}
else if (cbkbasketball.Checked==false && cbkpaiqiu.Checked==false && cbkscore.Checked==false)//只有在都没有被选中的情况下才显示注册失败
{
MessageBox.Show("注册失败,请选择爱好!");
++num;
}
else if (radman.Checked==false && radwomen.Checked==false )
{
MessageBox.Show("注册失败,请选择性别");
++num;
}
else
{
MessageBox.Show("注册成功");
Form2 fm = new Form2(user);//打开Form2的窗体,这里传入一个参数user。
fm.Show();
this.Hide(); //隐藏Form1的窗体
}
//创建一个Regster文本文档,并写入注册信息,且以分隔符(|)隔开
string gender = string.Empty;
string like = string.Empty;
<br> //判断性别被选中的是哪个,就获取哪个的文本
if (radman.Checked == true)
{
gender = radman.Text;
}
else
{
gender = radwomen.Text;
}
//判断爱好哪几个被选中,则获取选中的文本
if (this.cbkbasketball.Checked)
{
like += cbkbasketball.Text + ",";
}
if (this.cbkpaiqiu.Checked)
{
like += cbkpaiqiu.Text+",";
}
if (this.cbkscore.Checked)
{
like += cbkscore.Text+",";
}
string[] array = { txtname.Text, txtpwd.Text, txtemail.Text, txtphone.Text, gender,like };//定义一个数组来接收注册信息的数据
string strs = string.Empty;
foreach (var item in array)
{
strs += item;
strs = string.Join("|",array);//注册信息在文本文档中以分隔符隔开
}
File.WriteAllText("Regster.txt", strs);//若只写文档名字,则默认的路径是在本项目的bin目录下。
}
private void btnconsole_Click(object sender, EventArgs e)//取消按钮
{
txtname.Focus();//让用户名重新获取焦点
txtname.Text = "";
txtpwd.Text = "";
txtaginpwd.Text = "";
txtemail.Text = "";
txtphone.Text = "";
radman.Checked = false;
radwomen.Checked = false;
cbkbasketball.Checked = false;
cbkpaiqiu.Checked = false;
cbkscore.Checked = false;
}
private void timer1_Tick(object sender, EventArgs e)
{
//输入三次错误后,计时器停止输入3分钟后再重新输入
this.btnregster.Enabled = true;
}
private void Form1_Activated(object sender, EventArgs e)
{
txtname.Focus();//首先让用户名文本框获得焦点
}
- C#中窗体的一些简单运用(Sixteenth Day)
从今天开始,我们进入到学window form的知识,今天简单的学习了一些控件和事件的运用.没有什么很全面的理论,所以今天就总结下所写的程序.一个简单的注册页面程序 注册页面程序 要求: 1:修改所有 ...
- Deferred在jQuery和Angular中的使用与简单实现
Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- spring注解开发中常用注解以及简单配置
一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向sprin ...
- 浏览器中 F12 功能的简单介绍
chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...
- Oracle中对XMLType的简单操作(extract、extractvalue...)
Oracle中对XMLType的简单操作(extract.extractvalue...) 1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...
- [转]chrome浏览器中 F12 功能的简单介绍
本文转自:https://www.cnblogs.com/zhuzhubaoya/p/9758648.html chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己 ...
随机推荐
- 用分治法实现大数乘法,加法,减法(java实现)
大数乘法即多项式乘法问题,求A(x)与B(x)的乘积C(x),朴素解法的复杂度O(n^2),基本思想是把多项式A(x)与B(x)写成 A(x)=a*x^m+b B(x)=c*x^m+d 其中a,b,c ...
- HTML5入门篇
---- HTML5简介 HTML5 是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 ...
- day19 数据库的初步认识
一:数据库的概念 数据库:一个用于储存数据并可以对之进行管理和使用的软件系统. sql:struct(结构) query(查询) language(语言) 结构化查询语言: 其实是一种国际化语言标 ...
- Python多线程学习笔记
Python中与多线程相关的模块有 thread, threading 和 Queue等,thread 和threading模块允许程序员创建和管理线程.thread模块提供了基本的线程和锁的支持,而 ...
- informix 查看数据库空间名
查看bhrs库的空间名 onstat -d 导出一个表 的结构 dbschema -d bhrs -t infotrans > xxx.sql 微网点 报表已经上线 cbs.sql 提交,生产 ...
- Memcache仅仅支持简单数据类型
Memcache仅仅支持简单数据类型 ,复杂数据类型需要应用自己处理 从数据库当中取出数据[User [id=1, username=guowuxin, password=guowuxin], Use ...
- BZOJ 1682: [Usaco2005 Mar]Out of Hay 干草危机
Description 牛们干草要用完了!贝茜打算去勘查灾情. 有N(2≤N≤2000)个农场,M(≤M≤10000)条双向道路连接着它们,长度不超过10^9.每一个农场均与农场1连通.贝茜要走遍每一 ...
- PHP漏洞全解(三)-客户端脚本植入
本文主要介绍针对PHP网站的客户端脚本植入攻击方式.所谓客户端脚本植入攻击,是指将可以执行的脚本插入到表单.图片.动画或超链接文字等对象内.当用户打开这些对象后,黑客所植入的脚本就会被执行,进而开始攻 ...
- 【转】IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)
概念很重要,一定要掌握.实践都是基于它们的哟 ~~~~~~~~~~~~~~~~~ http://blog.csdn.net/historyasamirror/article/details/57783 ...
- Struts2 interceptor使用经验小结
1. interceptor 调用Spring容器中的bean 在interceptor中常有需要调用Spring Bean的需要,其实很简单和Struts2的Action一样配置即可. Spring ...