首页 新闻 搜索 专区 学院

急--winform中控件排序的问题

0
悬赏园豆:50 [已解决问题] 解决于 2012-07-04 13:17

winform窗体中有个panel,动态加载了多个picturebox,现在要实现的效果是类似windows桌面一样的效果,拖动之后自动排序,拖到前面,当前位置以后的图标自动往后面挤, 拖动好做,已经实现了,可是这自动排序怎么做呢?想来想去没想到合适的方法,求高手指点,在线等答案,加Q279701886,请说明是博客园的

堕落为妖精的主页 堕落为妖精 | 初学一级 | 园豆:76
提问于:2012-07-04 11:42
< >
分享
最佳答案
1

排序 ,不就是 坐标的移动吗?

收获园豆:50
無限遐想 | 老鸟四级 |园豆:3740 | 2012-07-04 12:06

记住 当前点。然后 把后面的picturebox 再排一次,除去你移动的这个picturebox。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-04 12:07

@無限遐想: 当前点应该至少包括三个把?左上  左下  右上  ,然后把移动后的左上坐标与存储的坐标分别对比,可是如果有多个picturebox的时候不是要对比很多次吗?

堕落为妖精 | 园豆:76 (初学一级) | 2012-07-04 12:38

@堕落为妖精: 其实 每一个 点的 坐标 是固定的。你移动到这里。只是换了一个位置。其他位置只需要依次移动位置就好了

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-04 12:46

@無限遐想: 不太理解,能给写个案例吗?

堕落为妖精 | 园豆:76 (初学一级) | 2012-07-04 12:55

@堕落为妖精: 大小一样吗?

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-04 13:07

@無限遐想: 你可以建立一个 坐标数组。当你放到一个位置的时候,就对应于这个位置的坐标,然后 后面的图片再根据 坐标数组移动。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-04 13:09

@無限遐想:我试着写写看,谢谢了

堕落为妖精 | 园豆:76 (初学一级) | 2012-07-04 13:17
其他回答(1)
0

不要用Panel,试试用ListBox或者ListView,重新排序改变数组的排序再重新绑定一下.

zhangweiwen | 园豆:904 (小虾三级) | 2012-07-04 12:33

怎么通过拖拽改变数组的排序呢?能详细一下不?

最好还是用panel了  ,和整体项目契合

支持(0) 反对(0) 堕落为妖精 | 园豆:76 (初学一级) | 2012-07-04 12:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册