随笔分类 -  C#

摘要:lock就是把一段代码定义为临界区,所谓临界区就是同一时刻只能有一个线程来操作临界区的代码,当一个线程位于代码的临界区时,另一个线程不能进入临界区,如果试图进入临界区,则只能一直等待(即被阻止),直到已经进入临界区的线程访问完毕,并释放锁旗标。其基本使用方式如下:C-sharp代码classTest { //定义一个私有成员变量,用于Lock privatestaticobjectlockobj=newobject(); voidDoSomething() { lock(lockobj) { //需要锁定的代码块 } } }class Test{ //定义一个私有成员变量,用于Lock ... 阅读全文
posted @ 2012-08-20 14:07 清风寻梦 阅读(5281) 评论(1) 推荐(2)
摘要:1234567891011121314151617181920212223242526方法一: //须添加对System.Web的引用 using System.Web.Security; ... /// <summary> /// SHA1加密字符串 /// </summary> /// <param name="source">源字符串</param> /// <returns>加密后的字符串</returns> public string SHA1(string source) { return 阅读全文
posted @ 2012-07-26 10:53 清风寻梦 阅读(262) 评论(0) 推荐(0)
摘要:一、各种旋转、改变大小注意:先要添加画图相关的using引用。//向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){Graphics g = e.Graphics;Bitmap bmp = new Bitmap("rama.jpg");//加载图像g.FillRectangle(Brushes.White, this.ClientRectangle);//填充窗体背景为白色Point[] destinationPoints = { 阅读全文
posted @ 2012-07-24 16:28 清风寻梦 阅读(747) 评论(0) 推荐(0)
摘要:利用GDI+的双缓冲技术来提高绘图效率卢彦 前言进入.NET时代,Windows的绘图技术也从GDI升级到了GDI+,从名字就能知道GDI+是对以前传统GDI绘图技术的一次升级,不过在微软几乎把所有的新技术都冠之.NET的情况下,GDI+竟然不叫做GDI.NET,还真让我感到有点意外了。 :)GDI+在一种与设备无关的环境下提供了一套统一的绘图编程模型,极大的提高了Windows绘图编程的方便性,我们再也不用创建什么各种各样复杂的设备环境了,说实话,我现在想起来都头疼。题归正传,关于如何进行GDI+的基本编程,我不能过多的加以描述,如果有对此概念还不太清楚的朋友,建议先去了解一下相关的资料,我 阅读全文
posted @ 2012-07-06 10:51 清风寻梦 阅读(890) 评论(0) 推荐(0)
摘要:本文不是教你全面了解log4net,本文只是希望教会你按步就班,照糊芦画瓢般就会用log4net1,引入log4net.dll组件2,建立一个配置文件两种方法,一种是在Web.Config或App.Config里加入以下配置节<configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections>上面的配置节,复制就可以用了加入log4net配置 阅读全文
posted @ 2012-07-06 10:24 清风寻梦 阅读(243) 评论(0) 推荐(0)
摘要:C#中Graphics的画图代码【转】架上图片了你就可以在画板上涂改了啊我要写多几个字上去string str = "Baidu"; //写什么字?Font font = Font("宋体",30f); //字是什么样子的?Brush brush = Brushes.Red; //用红色涂上我的字吧;PointF point = new PointF(10f,10f); //从什么地方开始写字捏?//横着写还是竖着写呢?System.Drawing.StringFormat sf = new System.Drawing.StringFormat();/ 阅读全文
posted @ 2012-07-06 09:53 清风寻梦 阅读(20285) 评论(2) 推荐(6)
摘要:转自http://www.cnblogs.com/c2303191/articles/826571.htmlControl.Invoke方法(Delegate):在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke方法(Delegate):在创建控件的基础句柄所在线程上异步执行指定委托。(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的Invoke和BeginInvoke与Delegate的Invoke和BeginInvoke是不同的。(2)Control的Invoke和BeginInvoke的参数为dele 阅读全文
posted @ 2012-06-29 09:32 清风寻梦 阅读(277) 评论(0) 推荐(0)
摘要:[转]C#在WinForm下使用HttpWebRequest上传文件并显示进度/// <summary> /// 将本地文件上传到指定的服务器(HttpWebRequest方法) /// </summary> /// <param name="address">文件上传到的服务器</param> /// <param name="fileNamePath">要上传的本地文件(全路径)</param> /// <param name="saveName"> 阅读全文
posted @ 2012-06-26 16:18 清风寻梦 阅读(11061) 评论(0) 推荐(0)