从今天开始,我们进入到学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#中窗体的一些简单运用的更多相关文章

  1. C#中窗体的一些简单运用(Sixteenth Day)

    从今天开始,我们进入到学window form的知识,今天简单的学习了一些控件和事件的运用.没有什么很全面的理论,所以今天就总结下所写的程序.一个简单的注册页面程序 注册页面程序 要求: 1:修改所有 ...

  2. Deferred在jQuery和Angular中的使用与简单实现

    Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ...

  3. java中Color类的简单总结

    java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...

  4. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  5. ASP.net中导出Excel的简单方法介绍

    下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...

  6. spring注解开发中常用注解以及简单配置

    一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向sprin ...

  7. 浏览器中 F12 功能的简单介绍

    chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首 ...

  8. Oracle中对XMLType的简单操作(extract、extractvalue...)

    Oracle中对XMLType的简单操作(extract.extractvalue...)    1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...

  9. [转]chrome浏览器中 F12 功能的简单介绍

    本文转自:https://www.cnblogs.com/zhuzhubaoya/p/9758648.html chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己 ...

随机推荐

  1. SQL 刪除

    SQL 刪除 1.delete from table_name 2.drop table table_name drop table is different from deleting all of ...

  2. NOIP200701

    题是这样的: 试题描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再 ...

  3. 安装Cygwin

    如果你现在正在学习C语言,而你又不希望使用微软提供的任何C语言的任何编译器,那么你应该考虑一下GCC.GCC是运行于类UNIX系统下的编译器工具集,这又引出了另一个让人头疼的问题,你没有一台现成的装有 ...

  4. 实习笔记-3:ef实体操作错误篇

    学习笔记 1.json序列化ef实体是报错:“序列化类型为“System.Data.Entity.DynamicProxies.XXXX.... 对象时检测到循环引用.” 公司里用ef来生成实体.但是 ...

  5. [C#]对象深拷贝

    关键代码: /// <summary> /// 对象深拷贝 /// </summary> /// <typeparam name="T">泛型& ...

  6. AngularJS的使用方法

    1.第一个ng demo <div ng-app="" ng-init="name='Kevin'"> <input ng-model=&qu ...

  7. 分享零基础学习Hadoop方法

    (我不是Hadoop专家,也只是一个初学者,这里我也只是就自己的学习体会,站在初学者的角度谈一下如何入门.) 首先我觉得应该思考这样一个问题:Hadoop对于我们来讲,是一种工具,那么Hadoop帮助 ...

  8. Source Insight 显示中文乱码

    Source Insight 3.X utf8支持插件震撼发布 继上次SI多标签插件之后,因为公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件. 下载地 ...

  9. SVN服务器使用(二)

    上篇主要介绍的VisualSVN Server 安装,这篇主要介绍VisualSVN Server 的使用. 首先打开VisualSVN Server Manager,如图: 可以在窗口的右边看到版本 ...

  10. Python元类实践--自己定义一个和collections中一样的namedtuple

    大家可能很熟悉在collections模块中有一个很好用的扩展数据类型-namedtuple. 如果你还不知道这个类型,那么请翻看标准手册. 我利用元类轻松定义一个namedtuple. 先把代码贴上 ...