C#应用案例之随机验证码

private void button1_Click(object sender, EventArgs e)
        {
            string result = "";  //记录最终的四个字符
            for (int i = 0; i < 4; i++)
            {
                int type = ra.Next(0, 3);  //区分数字  大写字母  小写字母
                if (type == 0)
                {
                    result += ra.Next(0, 10).ToString();
                }
                else if (type == 1)
                {
                    result += ((char)ra.Next(65, 91)).ToString();
                }
                else
                {
                    result += ((char)ra.Next(97, 123)).ToString();
                }
            }
            string[] zt = { "黑体", "宋体", "微软雅黑", "仿宋", "隶书" }; //为变量zt赋值(随机字体时要用)

第一种方法


            string str1 = result.Substring(0,1);  //将result中的第0位后1个字符赋值给str1   (0,1)表示result中第0位后的1个字符
            string str2 = result.Substring(1,1);   
            string str3 = result.Substring(2,1);
            string str4 = result.Substring(3,1);
            label1.Text = str1;  //再将 str 单个中的字符分别赋值给各个 labe  从而达到每个字符都是独立的目的
            label2.Text = str2;
            label3.Text = str3;
            label4.Text = str4;

第二种方法

            string[] str = result.Split('-');       //用"-"来对result中的字符进行截取    所以要在result的每个字符后加"-"
            label1.Text = str[0];
            label2.Text = str[1];
            label3.Text = str[2];
            label4.Text = str[3];

第三种方法

            label1.Text = result[0].ToString();
            label2.Text = result[1].ToString();
            label3.Text = result[2].ToString();
            label4.Text = result[3].ToString();

是字体,字体大小和字体颜色均为随机

            //随机颜色
            label1.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label2.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label3.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            label4.ForeColor = Color.FromArgb(ra.Next(0, 255), ra.Next(0, 255), ra.Next(0, 255));
            //随机的字体和字体大小
            label1.Font = new Font(zt [ra.Next(5)], ra.Next(16,30));
            label2.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));
            label3.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));
            label4.Font = new Font(zt[ra.Next(5)], ra.Next(16, 30));

猜你喜欢

转载自blog.csdn.net/Layfolk_XK/article/details/105603353