snail_move
snail_move
采纳率28.6%
2018-04-24 03:03

c# picturebox中画的点,线,圆之类的图形怎么选中

5
已采纳

c# 在picturebox中画的点,线,圆之类的图形怎么选中,想做选中后拖动功能,请大神指导,在线等,急!拜托了!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    没有简单的办法可以“选中”,这个需要自己实现

    首先,图形不能只是画上去,你需要一个集合记录每个图形的类型、坐标和参数(比如圆需要半径)
    在mouseup里判断坐标,和每个画上去的图形比较,看坐标是否接近某个图形,如果同时接近几个,取最上的那个
    在picturebox中重新绘制,将“选中”的那个用不同的方式绘制,以突出它是被选中的。

    拖动也一样,在mousemove里判断鼠标状态,并且改变选中图形的坐标。在移动之后,再重新绘制。

    点赞 2 评论 复制链接分享
  • hxycsdn9159 hxycsdn9159 3年前

    可以尝试换个思路,一定要用picturebox当容器吗? 你可以选个panel当作容器,然后创建一个个picturebox当子对象加入到panel中,然后再picturebox上画圆,矩形等,选中以及移动其实就是改变panel中这些控件的坐标位置

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    https://stackoverflow.com/questions/15981840/how-to-draw-and-move-shapes-using-mouse-in-c-sharp
    这个里面最后一个回答,就是这个思路

    不过只能画矩形。

    点赞 评论 复制链接分享
  • snail_move snail_move 3年前

    感谢指点思路,有相关样例吗?

    点赞 评论 复制链接分享