环境:VS2005 C#
      g.DrawRectangle(System.Drawing.Pens.Gray, x, y,width,height);该函数默认的画笔宽度是1个像素。那什么情况下,代码不变,但画笔宽度却变为两像素呢?
当采用双缓冲绘图时,就可能遇到这种情况:
      Bitmap bufferimage = new Bitmap(this.Width, this.Height);
      Graphics g = Graphics.FromImage(bufferimage);
      g.Clear(this.BackColor);
      //g.SmoothingMode = SmoothingMode.HighQuality; //高质量
      //g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
如上,如果不注释掉后面两行(我是全部注释掉了,也许只需注释掉其中一个就行),那么代码里指定的单像素宽度画笔在实际绘制时就会变成两像素宽。希望上述经验能帮助别人:)