如何在一个pictrueBox上面绘制矩形,要求鼠标按下时移动鼠标,矩形的形状随着鼠标的移动而改变,有点类似于 acdsee的截图工具。基本思路是有了,但是就是不能在pictureBox上面绘图,大家帮忙看看
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
shouldPaint = true;
beginPoint  = new Point(e.X,e.Y);
} private void pictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
shouldPaint = false;
endPoint    = new Point(e.X,e.Y);
g.DrawRectangle(new Pen(Color.Black,10),beginPoint.X,beginPoint.Y,
Math.Abs(beginPoint.X - endPoint.X),Math.Abs(beginPoint.Y - endPoint.Y));
}

解决方案 »

  1.   

    你可以参考delphi 2005中shapes这个例子F:\Program Files\Borland\BDS\3.0\Demos\CSharp\Graphics\Shapes
      

  2.   

    delphi 有这样的 源代码
      

  3.   

    private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    beginPoint  = new Point(e.X,e.Y);
    } private void pictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Graphics g = this.pictureBox1.CreateGraphics();
    endPoint    = new Point(e.X,e.Y);
    point = new Point[5];
    point[0]      = beginPoint;
    point[1]      = new Point(endPoint.X,beginPoint.Y);
    point[2]   = endPoint;
    point[3]      = new Point(beginPoint.X,endPoint.Y);
        point[4]      = new Point(beginPoint.X,beginPoint.Y);
    g.DrawLines(new Pen(Color.White,1),point);
    }知道了,结果这么简单,汗~~~~~