在c# 做的画图软件中 怎样去实现对 绘制几何形状 的实时显示?比如说是椭圆 在鼠标左键尚未释放之前 随着鼠标移动 椭圆的轨迹也会相应的发生变化 显示在频幕上! 有点急啊 麻烦高手们帮忙解决下

解决方案 »

  1.   

    private void form1_MouseDown(object sender,MouseEventArgs e)
    {
       //记录坐标
       Point   p   =   new   Point(e.X,e.Y); 
       Invalidate();
    }
    private void form1_Paint(object sender,PaintEventArgs e)
    {Graphics g = e.Graphics;
        Pen p = new Pen(Color.Blue, 2);
        g.DrawLine(p, 10, 10, 100, 100);
    }
    http://www.codeproject.com/KB/graphics/drawtools.aspx
      

  2.   

    参考Paint.NEThttp://www.oschina.net/p/paint.net
      

  3.   

    c# GDI+简单绘图(四) 简易画板功能
      

  4.   

     不行啊 你那个画直线的都是固定的啊 而且 在mousedown 中 只是记录的当时的 点 并没有使用啊
      

  5.   

    23.            Graphics gc = e.Graphics;   
    24.            /// 设置绘图的颜色   
    29.            Brush yellowBush = new SolidBrush(Color.Yellow);   
    30.            // 绘制椭圆,其实圆时椭圆的特殊的一种,即两个定点重合, (50, 60)为左上角的坐标,   
    31.            // 70位椭圆的宽度,100位椭圆的高度   
    32.            gc.FillEllipse(yellowBush, 50, 60, 70, 100);   
    FillEllipse函数可以填充出一个椭圆,
    50,60为左上角坐标,当你鼠标按下的时候,记录下当时的鼠标坐标,作为Point1, 拖动鼠标,当鼠标拖动的时候,得出鼠标当前坐标Point2。
    你根据Point1,和Point2算一个椭圆的高度和宽度,高度就是Y值相见,宽度就是x值相减。每次拖动的时候,将新的左上角坐标 PointA, 高度Height,宽度Width更新到Form的几个成员变量里面
    Form的Paint函数里面依据上面的几个成员变量绘制椭圆。给分吧http://blog.csdn.net/jianuMan/archive/2010/06/18/5677839.aspx
      

  6.   

    http://www.codeproject.com/KB/graphics/drawtools.aspx这是CODEPROJECT上实现的一个画图程序,你可以参考