RT,图形软件或者是VS界面设计时都可以用鼠标多选,怎么实现那个效果呢
两个疑问:
1.如何实现鼠标拖动出来的虚框效果,这个应该是Draw什么东西吧,请提点一下2.这个好像比较麻烦,我自己画了几个图元在Form里,如果实现了上面的效果,我怎么判断这些图元是否在我的选框内,如果是Rectangle的话有Contains方法,不过也只是判断Point

解决方案 »

  1.   

    这是个大难题.我曾经花了3个通宵的时间来研究,虽然成功解决了,但代码量也是相当大的.
    如果没有必要,不推荐使用GDI+
      

  2.   

    ControlPaint.DrawReversibleFrame(Rectangle, Color.White, FrameStyle.Dashed);   
    使用时候如果重影 可以考虑 
    ControlPaint.DrawReversibleFrame(OldRectangle, Color.Transparent, FrameStyle.Dashed); 然后在绘制
      

  3.   

    好像C#的这个DrawReversibleFrame可以画吧,我试试
      

  4.   

    1.如何实现鼠标拖动出来的虚框效果 ControlPaint.DrawFocusRectangle可以实现
    2,对每一个图圆的外圈最大小矩形的四个点进行判断是否在Rectangl内.如果在就可以判定了.建议你给每一个图元增加一个Selected属性.减少计算量
      

  5.   

    呵呵.如果在同一图层用上面的这些方法,你的画面将变成花屏,杂乱无章.因为ControlPaint只有画没有消除的功能.
      

  6.   

    DrawFocusRectangle这个当然是不可行的,但是DrawReversibleFrame是画一次消除一次,这个能达到效果,谢谢各位