C#验证码的实现

一.编程思想

(1).验证码由四位随机数字或者字母组成,此时就要考虑怎么获取随机数
(2).各个字符之间怎么进行连接
(3).当点击更换时会重新生成四位随机数
(4).四位字符的显示

二.代码的实现

(1).引入伪随机数生成器 Random,生成随机数
实例化Random: Random p = new Random();//表示伪随机数生成器
 Random p = new Random();//表示伪随机数生成器
(2).储存字符串
当生成字符串时,我们需要对它进行存储,我们声明一个string变量对它进行存储
//验证码是随机的字符串
            string zf = "";
(3).四位验证码字符的生成:
int type = p.Next(1,3);Next返回指定范围内的整数,包小不包大;
zf+=:对四个字符进行连接;
label1.Text = zf; :label中进行显示字符串;
label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255)); :实现整体颜色随机;
字符数据类型的转换:(char)p.Next(65,91)将int类型转化为char类型; p.Next(0,10).ToString();:将int类型转化为string类型;
 for (int i= 0;i<4;i++)
            {
                //类型首先随机四种  0.大写  1.小写  2.数字
                int type = p.Next(1,3);//返回指定范围内的整数,包小不包大
                if (type==0)
                {
                    zf+=((char)p.Next(97, 123)).ToString();
                    this.BackColor = Color.Green;
                }
                if (type==1)
                {
                    zf+=((char)p.Next(65,91)).ToString();
                }
                if (type==2)
                {
                    zf+=p.Next(0,10).ToString();
                }
                label1.Text = zf;
            }
            label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255));
        }
(4).整体代码的实现
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 验证码
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Text = "验证码";
            this.BackColor = Color.Green;
            label1.BackColor = Color.White;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //验证码是随机的字符串
            string zf = "";
            //也就是随机函数对象
            Random p = new Random();//表示伪随机数生成器
            for (int i= 0;i<4;i++)
            {
                //类型首先随机四种  0.大写  1.小写  2.数字
                int type = p.Next(1,3);//返回指定范围内的整数,包小不包大
                if (type==0)
                {
                    zf+=((char)p.Next(97, 123)).ToString();
                    this.BackColor = Color.Green;
                }
                if (type==1)
                {
                    zf+=((char)p.Next(65,91)).ToString();
                }
                if (type==2)
                {
                    zf+=p.Next(0,10).ToString();
                }
                label1.Text = zf;
            }
            label1.ForeColor = Color.FromArgb(p.Next(0,255), p.Next(0, 255), p.Next(0, 255));
        }
    }
}
(5).效果展示图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原创文章 36 获赞 31 访问量 2089

猜你喜欢

转载自blog.csdn.net/qq_45096273/article/details/105461277