1、Form窗口
1.1、获取当前控件属性 sender.GetType().Name
1.2、取到DataGridView中的行 DataGridViewCellEventArgs e
取到鼠标所在表中的行 e.RowIndex
1.3、随机字符串的方法
/// <summary> /// '产生随机字符串 /// </summary> /// <param name="num">随机出几个字符</param> /// <returns>随机出的字符串</returns> private string GenCode(int num) { //string str = "的一是严"; string str = "abcde12345";//便于输入启用字母数字组合 char[] chastr = str.ToCharArray(); //string[] source ={ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "#", "$", "%", "&", "@" }; string code = ""; Random rd = new Random(); int i; for (i = 0; i < num; i++) { //code += source[rd.Next(0, source.Length)]; code += str.Substring(rd.Next(0, str.Length), 1); } Session["CheckCode"] = code; return code; }
1.4、画图
/// <summary> /// 生成图片(增加背景噪音线、前景噪音点) /// </summary> /// <param name="checkCode">随机出字符串</param> private void CodeImage(string checkCode) { if (checkCode.Trim() == "" || checkCode == null) return; Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证 System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)(checkCode.Length * 12), 22);//汉字使用22,字母使用12 Graphics g = Graphics.FromImage(image); try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White); // 画图片的背景噪音线 int i; for (i = 0; i < 25; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2); } Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Brown, Color.Black, 1.2F, true); g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/Gif"; Response.BinaryWrite(ms.ToArray()); } catch { g.Dispose(); image.Dispose(); } }
1.5、页面代码
<td class="a2"> <asp:TextBox ID="CheckCodeInput" runat="server" CssClass="input_val"></asp:TextBox> <script language="javascript" type="text/javascript"> document.write(" <img id='verifyCodePic' src='ImageR.aspx?temp= " + Math.random() + "' onclick='changeVerifycode()'> "); </script> </td>
function changeVerifycode() {
document.getElementById("verifyCodePic").src = "ImageR.aspx?temp=" + Math.random();
}