C# WinForm小程序(技术改变世界-cnblog)
WinForm小程序(技术改变世界-cnblog)
需求:
1.点击按钮 更新 当前时间
2.输入 身份证,必须身份证 排序(类似银行卡那样的空格),自动生成空格排序
3.实现 必须按 第一个按钮,第三个按钮才可以使用
4.判断身份证 输入 必须 除 最后一个数可以为X外,其他都必须是数字
5.在LISTBOX输出 这个身份证者的 出生年份和 生日
6.当使用者是成年人可以浏览 隐藏的图片,否则不可以


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; namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} string[] strs; private void Form1_Load(object sender, EventArgs e)
{
//textBox1.ReadOnly = false;//这是 显示,并可以输入,但是输入无效
//textBox1.Enabled = false;//同下
button3.Enabled = false;//是显示了,不可以使用点击
//button3.Visible = false;// 在窗体不显示
label2.Text = string.Empty;
panel1.Visible = false;
} private void button1_Click(object sender, EventArgs e)
{
button3.Enabled = true;
label2.Text = DateTime.Now.ToLocalTime().ToString() ; } private void button2_Click(object sender, EventArgs e)
{ strs = textBox1.Text.Split(' '); //判断正确性
for (int i = 0; i < strs.Length-1; i++)//为什么长度-1,因为有的人身份证最后位是X
{
int temp;
if (int.TryParse(strs[i], out temp) == false)
{
MessageBox.Show(string.Format("您输入的第{0}组数有误",++i));
return;
}
} listBox1.Items.Clear();//防止多次按确认
listBox1.Items.Add(string.Format("您的年份是:{0}年",strs[1])); listBox1.Items.Add(string.Format("您的生日是:{0}月{1}日",strs[2].Substring(0,2),strs[2].Substring(2,2)));
textBox1.Clear();
} private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
//判断光标的位置
if (textBox1.SelectionStart==6)
{
textBox1.Text += " ";
textBox1.SelectionStart = 8;
return;
}
if (textBox1.SelectionStart == 11)
{
textBox1.Text += " ";
textBox1.SelectionStart = 13;
return;
}
if (textBox1.SelectionStart == 16)
{
textBox1.Text += " ";
textBox1.SelectionStart = 18;
return;
}
if (textBox1.SelectionStart == 21)//只能输入21-3(空格)=18位身份证
{
e.Handled = true;
}
} private void button3_Click(object sender, EventArgs e)
{
//未满18岁禁止查看
pictureBox1.Image = imageList1.Images[0];
int i1;
int i2=int.Parse(strs[1]);
if (int.TryParse(label2.Text.Substring(0, 4), out i1))
{
if ((i1 - i2) >= 18)
{
panel1.Show();
}
else
{
MessageBox.Show("你未满18岁,不可以查看","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
}
} }
}
}

C# WinForm小程序(技术改变世界-cnblog)的更多相关文章
- C# WINFORM 局域网PING 工具(技术改变世界-cnblog)
WINFORM 局域网PING 工具(技术改变世界-cnblog) 需求: 1.实时更新 日期时间 2.可以ping多个IP 地址,必须判断 IP地址的正确性,不能为广播地址 3.对ping结果的显示 ...
- winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)
http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已 ...
- visual studio 设计第一个WinForm小程序
WinForm小程序之消息框 首先打开visual studio 软件,然后[文件]-[新建]-[项目]-[Visual C#]-[Windows],选择Windows窗体应用程序,根据自己的需要修改 ...
- Django+小程序技术打造微信小程序助手 ✌✌
Django+小程序技术打造微信小程序助手 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从零到一的完整项目开发实战过程,项目开发聚焦重要知识点,先原理后实战 ...
- Django2.0+小程序技术打造微信小程序助手✍✍✍
Django2.0+小程序技术打造微信小程序助手 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题 ...
- Django+小程序技术打造微信小程序助手
Django+小程序技术打造微信小程序助手 整个课程都看完了,当前这个课程的分享可以往下看,下面有某盘的链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,同时也分享下自己的总结 ...
- 微信小程序切换标签改变样式
微信小程序切换标签改变样式 wxml <!--顶部导航栏--> <view class="swiper-tab"> <view class=" ...
- Cube 技术解读 | Cube 小程序技术详解
本文为<Cube 技术解读>系列第三篇文章,之前上线的<支付宝新一代动态化技术架构与选型综述>与<Cube卡片技术栈解读>欢迎大家回顾. 魔方卡片(Cube)已在「 ...
- APICloud · 跨越2018,技术改变世界
在APICloud发展轨迹中, 2018注定是疾速的一年, 更多的风口趋势和现象级应用背后, 是技术在推动着世界的加速转动. APICloud所提供的技术服务,在混合之力的驱动下不断完善升级,“让你的 ...
随机推荐
- linux 安装 mongo
整个安装过程:下载安装包--> 解压,添加系统路径(是滴,不用安装解压即可) --> 创建数据目录 --> 启动mongod服务 --> 运行mongo 1.下载安装包 Mon ...
- 关于类似vue-cli 脚手架
#!/usr/bin/env node const download = require('download-git-repo') const program = require('commander ...
- java 类名.this
类名为this的限定词. 相对于内部类:有多个this: 1.内部类本身的this: 2.内部类的环境类的this: 类名.this,就是为了对这些this指针的指向做出限定. 区别于类名.class ...
- https Full Handshake
1)加密套件交互: 2)密码交换: 3)身份认证: Full Handshake Initially, client and server "agree upon" null en ...
- AcDbTable 类
Table 例子学习笔记在这个例子中,ARX向我们展示了ACDBTABLE类的一些基本操作方法,ACDBTABLE类是ACAD2005及其以后的产品,应该是说ACDBDATATABLE的升级产品,Ac ...
- Render2
https://blog.csdn.net/wf19930209/article/details/81109388
- CentOS / RHEL 7 : Chrony V/s NTP (Differences Between ntpd and chronyd)
CentOS / RHEL 7 : Chrony V/s NTP (Differences Between ntpd and chronyd) Chosing between Chrony and N ...
- c/c++排坑(2) -- c语言中的符号重载
所谓的符号重载就是在不同的上下文环境里有不同的意义.甚至有些关键字也被重载而具有好几种意义,这也是C语言的作用域规则对程序员不那么清晰的主要原因. 本章内容摘自<c专家编程>P37. 大家 ...
- 非常简单的Python HTTP服务
如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python 可能帮助你.使用Python可以完成一个简单的内建 HT ...
- java的四舍五入及取整
四舍五入用 Math.round(double a): 向上取整用 Math.ceil(double a): 向下取整用 Math.floor(double a):