你是指橡皮矩形吧?由于矩形有一个端点是不变的,因此只要不断记录前一个mousemove时cursor的坐标,再使用背景颜色的pen擦除原先矩形并用新坐标值绘制新矩形就可以了

解决方案 »

  1.   

    背景颜色花花绿绿的,
    pen也不止一个...
      

  2.   

    在界面上有一个picurebox,这个picturebox的image是一幅图。
    我想,
    当鼠标在picturebox上面拉框时,用一个矩形画出来。
    当鼠标不停地移动时,这个矩形也不停地变化
      

  3.   

    参我在另一贴的答案。http://community.csdn.net/Expert/topic/3164/3164279.xml?temp=.1516687
    已经是第三次回这种问题了。
      

  4.   

    发现我的回答有笔误,改在这了。你可以用ControlPaint.DrawReversableLine 来实现。
    原理是call ControlPaint.DrawReversibleLine 可以画 line
    在同一地方再call ControlPaint.DrawReversibleLine 可以把它擦掉而不影响原背景。
    鼠标按下时,记下点0,
    鼠标移动时记下点1 call ControlPaint.DrawReversableLine  to draw frame(点0,点1)
    鼠标再移动时记下点2 
          call ControlPaint.DrawReversableLine  for (点0,点1)
          call ControlPaint.DrawReversableLine for (点0,点2)原理就是这样了。参考
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsControlPaintClassDrawReversibleLineTopic.asp希望你能达Net!
      

  5.   

    好奇心驱使我上msdn搜索了一下,果然查出一篇好文。
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaskdr/html/askgui02172004.asp
    Dr. GUI 的回答也是建议用ControlPaint因为它最简单。