一.验证码的随机获取
Random p = new Random();
//获取随机字符
string zf = "";
for (int i = 0; i < 4; i++)
{
int type = p.Next(0, 3);
if (type == 0)
{
zf += p.Next(0, 10).ToString();
}
if (type == 1)
{
zf += ((char)p.Next(97, 123)).ToString();
}
if (type == 2)
{
zf += ((char)p.Next(65, 91)).ToString();
}
}
二.随机颜色设置
forecolor:获取或设置控件的前景色;fromargb:三原色,取值范围 0~255;
//设置颜色随机
label1.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label2.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label3.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label4.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
三.随机字体以及大小
//设置字体随机
string[] zt = { "宋体 ", "楷体", "草书", "华文行楷", "华文隶书" };//存储字体的数组
label1.Font = new Font(zt[p.Next(5)], p.Next(18, 30), FontStyle.Italic);
label2.Font = new Font(zt[p.Next(5)], p.Next(18, 30), FontStyle.Bold);
label3.Font = new Font(zt[p.Next(5)], p.Next(14, 30), FontStyle.Strikeout);
label4.Font = new Font(zt[p.Next(5)], p.Next(15, 28), FontStyle.Underline);
三.验证码完整代码
Random p = new Random();
private void button2_Click(object sender, EventArgs e)
{
button2.Text = "看不清,换一张!";
button2.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
button2.BackColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
//获取随机字符
string zf = "";
for (int i = 0; i < 4; i++)
{
int type = p.Next(0, 3);
if (type == 0)
{
zf += p.Next(0, 10).ToString();// +','分割字符专用
}
if (type == 1)
{
zf += ((char)p.Next(97, 123)).ToString();// +','分割字符专用
}
if (type == 2)
{
zf += ((char)p.Next(65, 91)).ToString();// +','分割字符专用
}
}
//第一种方法:截取字符串
//string str0 = zf.Substring(0, 1);
//string str1 = zf.Substring(1, 1);
//string str2 = zf.Substring(2, 1);
//string str3 = zf.Substring(3, 1);
//label1.Text = str0;
//label2.Text = str1;
//label3.Text = str2;
//label4.Text = str3;
//第二种方法:获取字符串的长度,分割字符
//string[] zfc = zf.Split(',');
//label1.Text = zfc[0];
//label2.Text = zfc[1];
//label3.Text = zfc[2];
//label4.Text = zfc[3];
//第三种方法:字符串索引
label1.Text = zf[0].ToString();
label2.Text = zf[1].ToString();
label3.Text = zf[2].ToString();
label4.Text = zf[3].ToString();
//设置位置
label1.Left = button2.Left + button2.Width;
label2.Left = label1.Left + label1.Width;
label3.Left = label2.Left + label2.Width;
label4.Left = label3.Left + label3.Width;
//设置颜色随机
label1.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label2.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label3.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
label4.ForeColor = Color.FromArgb(p.Next(0, 255), p.Next(0, 255), p.Next(0, 255));
//设置字体随机
string[] zt = { "宋体 ", "楷体", "草书", "华文行楷", "华文隶书" };//存储字体的数组
label1.Font = new Font(zt[p.Next(5)], p.Next(18, 30), FontStyle.Italic);
label2.Font = new Font(zt[p.Next(5)], p.Next(18, 30), FontStyle.Bold);
label3.Font = new Font(zt[p.Next(5)], p.Next(14, 30), FontStyle.Strikeout);
label4.Font = new Font(zt[p.Next(5)], p.Next(15, 28), FontStyle.Underline);
}