c# 在picturebox中画的点,线,圆之类的图形怎么选中,想做选中后拖动功能,请大神指导,在线等,急!拜托了!
没有简单的办法可以“选中”,这个需要自己实现
首先,图形不能只是画上去,你需要一个集合记录每个图形的类型、坐标和参数(比如圆需要半径)
在mouseup里判断坐标,和每个画上去的图形比较,看坐标是否接近某个图形,如果同时接近几个,取最上的那个
在picturebox中重新绘制,将“选中”的那个用不同的方式绘制,以突出它是被选中的。
拖动也一样,在mousemove里判断鼠标状态,并且改变选中图形的坐标。在移动之后,再重新绘制。
可以尝试换个思路,一定要用picturebox当容器吗? 你可以选个panel当作容器,然后创建一个个picturebox当子对象加入到panel中,然后再picturebox上画圆,矩形等,选中以及移动其实就是改变panel中这些控件的坐标位置
感谢指点思路,有相关样例吗?
https://stackoverflow.com/questions/15981840/how-to-draw-and-move-shapes-using-mouse-in-c-sharp
这个里面最后一个回答,就是这个思路
不过只能画矩形。