使用C#实现窗体抖动和随机验证码2.0(附带c#中时间的获取方法汇总)

窗体抖动案例

首先将窗体在当前屏幕居中

其次使用for循环实现都行的次数

最后利用left,top实现窗体的抖动

private void Form2_Load(object sender, EventArgs e)
        {
            this.CenterToScreen();//将窗体在当前屏幕居中
        }

        private void button1_Click(object sender, EventArgs e)//创建按钮的触发事件
        {
            for (int i = 0; i < 5; i++)//for循环
            {
                this.Location = new Point(this.Left + 50, this.Top);
                Thread.Sleep(50);
                this.Location = new Point(this.Left, this.Top + 50);
                Thread.Sleep(50);
                this.Location = new Point(this.Left - 50, this.Top);
                Thread.Sleep(50);
                this.Location = new Point(this.Left - 50, this.Top);
                Thread.Sleep(50);
                this.Location = new Point(this.Left, this.Top - 50);
                Thread.Sleep(50);
                this.Location = new Point(this.Left, this.Top - 50);
                Thread.Sleep(50);
                this.Location = new Point(this.Left + 50, this.Top);
                Thread.Sleep(50);
                this.Location = new Point(this.Left + 50, this.Top);
                Thread.Sleep(50);
                this.Location = new Point(this.Left, this.Top + 50);
                Thread.Sleep(50);
                this.Location = new Point(this.Left - 50, this.Top);
                Thread.Sleep(50);
                //九个点循环一周,实现抖动
            }
        }
    }
}

随机验证码案例

上次说到验证码案例显示出的四个字符虽然是随机的,但是颜色字体还有字号始终一致

这次我们尝试看看能不能写出四个随机字符,颜色字体字号都随机

首先用for循环写出四个随机字符链接成一个字符串

四个随机字符包括大写字母,小写字母还有数字

 private void button1_Click(object sender, EventArgs e)//按下按钮触发的事件
        {
            Random sj = new Random();//定义一个随机变量sj
            string zfc = "";//定义一个字符串为zfc
            for (int i = 0; i < 4; i++)//for循环四次
            {
                int a = sj.Next(0, 3);//定义一个整形a,取值在零到三之间,不包含上限,所以取值为0或1或2
                if (a == 0)//判断是否a等于0
                {
                    zfc += ((char)sj.Next(65, 91)).ToString()+"-";
                    //只有将字符串分隔为数组是才需要加上+"-";以便于获取字符
                    //注意,类型转换
                    //当输出值为0时,输出的值为大写字母
                }
                else if(a==1)
                {
                    zfc += sj.Next(0, 10).ToString() +"-";
                    //只有将字符串分隔为数组是才需要加上+"-";以便于获取字符
                    //当输出值为1时,输出的值为数字
                }
                else if(a==2)
                        {
                    zfc += ((char)sj.Next(97, 123)).ToString() + "-";
                    //只有将字符串分隔为数组是才需要加上+"-";以便于获取字符
                    //当输出值为2时,输出的值为小写字母
                }

            }

随机验证码第一种方法

 //第一种方法(直接获取字符串中的字符,分别放到四个label中)
            label1.Text = zfc[0].ToString();//获取字符串中第一个输出的字符
            label2.Text = zfc[1].ToString();//获取字符串中第二个输出的字符
            label3.Text = zfc[2].ToString();//获取字符串中第三个输出的字符
            label4.Text = zfc[3].ToString();//获取字符串中第四个输出的字符
           string[] ziti = { "宋体", "楷体","Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond" };
            //为下面的字体随机建立数组,随机必定有来源,所以以上9个便是字体的随机来源
            label4.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));//随机九种字体和字体字号
            label3.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label2.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label1.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));       
            label1.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));//随机颜色      
            label2.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label3.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label4.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));

随机验证码第二种方法

 //第二种方法,按个截取字符串,放在4个label中
            string zf1 = zfc.Substring(0, 1);//定义zf1获取从0开始的一个字符,就是第一位字符
            string zf2 = zfc.Substring(1, 1);//定义zf1获取从1开始的一个字符,就是第二位字符
            string zf3 = zfc.Substring(2, 1);//定义zf1获取从2开始的一个字符,就是第三位字符
            string zf4 = zfc.Substring(3, 1);//定义zf1获取从3开始的一个字符,就是第四位字符
            //在四个label中显示出来
            label1.Text = zf1;
            label2.Text = zf2;
            label3.Text = zf3;
            label4.Text = zf4;
           string[] ziti = { "宋体", "楷体","Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond" };
            //为下面的字体随机建立数组,随机必定有来源,所以以上9个便是字体的随机来源
            label4.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));//随机九种字体和字体字号
            label3.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label2.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label1.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));       
            label1.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));//随机颜色      
            label2.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label3.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label4.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));

随机验证码第三种方法

//第三种方法,split()把字符串分隔成一个数组
            string[] zf = zfc.Split('-');//用split分隔时,其中分隔的字符必须是字符串中的字符,所以在上面的字符中加入"-"来获取字符
            label1.Text = zf[0];
            label2.Text = zf[1];
            label3.Text = zf[2];
            label4.Text = zf[3];
            string[] ziti = { "宋体", "楷体","Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond" };
            //为下面的字体随机建立数组,随机必定有来源,所以以上9个便是字体的随机来源
            label4.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));//随机九种字体和字体字号
            label3.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label2.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));
            label1.Font = new Font(ziti[sj.Next(9)], sj.Next(15, 30));       
            label1.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));//随机颜色      
            label2.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label3.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));
            label4.ForeColor = Color.FromArgb(sj.Next(0, 255), sj.Next(0, 255), sj.Next(0, 255));

c#中时间的获取方法汇总

private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "获取今天时间" + "\r\n" + DateTime.Now.Date.ToShortDateString();
            textBox2.Text = "获取昨天时间" + "\r\n" + DateTime.Now.AddDays(-1).ToShortDateString();
            textBox3.Text = "获取当前小时" + "\r\n" + DateTime.Now.Hour.ToString();
            textBox4.Text = "获取当前分钟" + "\r\n" + DateTime.Now.Minute.ToString();
            textBox5.Text = "获取当前秒数" + "\r\n" + DateTime.Now.Second.ToString(); ;
            textBox6.Text = "获取当前年份" + "\r\n" + DateTime.Now.ToString("yyyy");
            textBox7.Text = "获取当前月份" + "\r\n" + DateTime.Now.ToString("MM");
            textBox8.Text = "获取当前第几天" + "\r\n" + DateTime.Now.DayOfYear.ToString();
            textBox9.Text = "获取当前星期" + "\r\n" + DateTime.Now.DayOfWeek.ToString();
            textBox10.Text = "获取当前时间" + "\r\n" + DateTime.Now.ToString("D");
            textBox11.Text = "获取当前时间" + "\r\n" + DateTime.Now.ToString("F");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/XVJINHUA954/article/details/105603344