收集的一些常用技术(.Net)

一、改变窗口大小,控件大小也按比例变化(在load事件里调用下就行了,已验证过的)
 

        /// <summary>
        /// 控件随窗体自动缩放
        /// </summary>
        /// <param name="frm">Form</param>
        public static void AutoScale(Form frm)
        {
            frm.Tag = frm.Width.ToString() + "," + frm.Height.ToString();
            frm.SizeChanged += new EventHandler(frm_SizeChanged);
        }
        static void frm_SizeChanged(object sender, EventArgs e)
        {
            string[] tmp = ((Form)sender).Tag.ToString().Split(',');
            float width = (float)((Form)sender).Width / (float)Convert.ToInt16(tmp[0]);
            float heigth = (float)((Form)sender).Height / (float)Convert.ToInt16(tmp[1]);
            ((Form)sender).Tag = ((Form)sender).Width.ToString() + "," + ((Form)sender).Height;
            foreach (Control control in ((Form)sender).Controls)
            { control.Scale(new SizeF(width, heigth)); }
        }

 

二、加密解密

1、MD5

 public static string GetMD5Hash(String input)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
            char[] temp = new char[res.Length];
            System.Array.Copy(res, temp, res.Length);
            return new String(temp);
        }
        /// <summary>
        /// 获得MD5的16进制结果 
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>  
        public static string GetMD5HashHex(String input)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            DES des = new DESCryptoServiceProvider();
            byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
            String returnThis = "";
            for (int i = 0; i < res.Length; i++)
            {
                returnThis += System.Uri.HexEscape((char)res[i]);
            }
            returnThis = returnThis.Replace("%", "");
            returnThis = returnThis.ToLower();
            return returnThis;
        }


md5一般是用来加密密码的。是不可逆的。
  /// <summary>
  /// 获取MD5值
  /// </summary>
  /// <param name="str">加密的字符串</param>
  /// <returns>返回MD5值</returns>
  public static string GetMD5(string str)
  {
    return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
  }
2、要是可以加密可以解密的建议用base64

编码:
byte[] bytes=Encoding.Default.GetBytes("要转换的字符串");
Convert.ToBase64String(bytes);
解码:
//"ztKwrsTj"是“我爱你”的base64编码
byte[] outputb = Convert.FromBase64String("ztKwrsTj");
string orgStr= Encoding.Default.GetString(outputb);

三、正则表达式

1、匹配金额的:

/^/d{1,3}(/,/d{3})*/./d{2}$/
匹配情况
X.XX
XX.XX
XXX.XX
X,XXX,...,XXX.XX
XX,XXX,...,XXX.XX
XXX,XXX,...,XXX.XX
/^/d{1,3}(/,/d{3})*(/./d{2})?$/
还匹配
X
XX
XXX
X,XXX,...,XXX
XX,XXX,...,XXX
XXX,XXX,...,XXX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值