黑马程序员技术交流社区

标题: 测试题:求解答 [打印本页]

作者: wq12342008    时间: 2014-4-15 19:52
标题: 测试题:求解答
本帖最后由 wq12342008 于 2014-4-16 14:43 编辑

页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。
作者: 伪善者。    时间: 2014-4-15 20:24
新建一个窗体应用程序 在上面放一个image类型的空间
选择好图片以后 把visible属性设为false;
一个textbox控件 一个 button控件 textbox用来让用户输入身份证号
可以在之前放一个lable控件用来提示
写button的click事件代码:
用textbox.text的substring方法用来截取 用户输入的数字
datetime.now.year 方法可以取一个当前年份的int类型的值
根据用户输入的判断是否成年
用if判断 如果大于等于18就 让image图片的VISIBLE属性设为true;
反之则是false;
以上这种是不加限制用户输入 无判断身份证格式 等等的
如果需要实现 请自行添加
作者: gyt_xtt    时间: 2014-4-15 21:33
  1. public partial class Form1 : Form
  2.     {
  3.         //页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452)
  4.         //,点击按钮,如果年龄大于18岁则显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }

  9.         private void btnShow_Click(object sender, EventArgs e)
  10.         {
  11.             long IDnum = Convert.ToInt64(txtID.Text);//用IDnum接收txtID的值
  12.             long birthyear = IDnum % 1000000000000 / 100000000;//因为设定txtID的最大长度为18,所以这么求出生年月。
  13.             int nowyear = DateTime.Now.Year;
  14.             if (nowyear - birthyear > 18)
  15.             {
  16.                 pb.Visible = true;
  17.             }
  18.             else
  19.             {
  20.                 pb.Visible = false;
  21.                 MessageBox.Show("年龄太小");
  22.             }
  23.         }
  24.     }
复制代码


上面这些代码都是写在Form1.cs中   
我把输入身份证的那个textbox的属性设置为18位,用的取余和除来求出身份证中的年月日,貌似是最笨的方法了
我用的是WINFORM做的这道题,图片用的是PictureBox这个控件,然后在Image属性中插入一张图片

希望能帮助到你

作者: 茹化肖    时间: 2014-4-15 21:50
正则判断
作者: czwanglei    时间: 2014-4-16 10:00
windowsform基础,认真看视频就会了。。
作者: wq12342008    时间: 2014-4-16 14:38
多谢大家帮助




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2