找回密码
 立即注册

QQ登录

只需一步,快速开始

leadcom

论坛元老

24

主题

96

帖子

2万

积分

论坛元老

积分
27812

活字格认证

leadcom
论坛元老   /  发表于:2015-8-6 15:21  /   查看:9388  /  回复:10
实现如图:选中第二2页按住鼠标不动,将这页使其成为第一页。实现拖动排序功能。


通过观察rasterimagelist所提供的事件及方法,只实现了drogdrop,drogenter..等拖动事件,并没有实现对项目拖动的事件,如treeview中的ItemDrag事件。


希望能够提供对项目拖动的事件或提供相应的实现代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

10 个回复

正序浏览
iceman
社区贡献组   /  发表于:2015-9-17 09:15:00
11#
回复 8楼leadcom的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-9-8 12:20:00
10#
回复 8楼leadcom的帖子

您好,
下面回答您的问题,
1.当选中图片的时候能否改变箭头所指区域的颜色。
答:完全可以,您需要修改示例代码中的DrawDashLine方法,这个方法中我绘制了一条虚线,您可以修改为一个区域并画上颜色。但我需要说明的是,您目前的图片跟边框之所以有一个区域,是因为您的图片跟ImageListItem的大小不同的缘故,如果您加载的图片正好是ImageListItem的大小,那么图片会占满整个蓝色框,所以画颜色的话会导致画在图片上,这一点请您考虑。
2.白色框线能否去掉。
答:这个蓝色框线和白色内衬线是由两个属性决定的:ItemSelectedBackColor、ItemSelectedForeColor。其中背景色为蓝色,前景色为白色。这就是选中后看到的效果,我试着修改了前景色也为蓝色之后发现项目的文字也变为了蓝色,就是您图片上显示的“第1页”也变为蓝色了,这样会导致看不清。如果您想去掉这个白色线的话,只能将ViewStyle由现在的Explorer改为OwnerDraw,然后在ImageList_DrawItem事件中自行绘制您需要的任何样式。
关于如何自行绘制样式可以参考这个链接:RasterImageListViewStyle
和这个链接:RasterImageList.DrawItem
这两个链接中都有例子,您可以参考。
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-8-28 11:34:00
9#
回复 8楼leadcom的帖子

您好,您的需求我收到了。
我这边试着修改一下Demo程序,改好后发送给您。
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-8-28 11:28:00
8#
我想在拖动的时候不用picturebox或者form来做图片的浮动效果。因为在拖动的过程中会感觉好卡的。控件一直在刷。
只需要画出需要拖动到的位置的线就可以了。
但我调整了一下你的代码,把Picture删除掉。这画就出感觉画不出来的样子。有时候又有,有时候有没有。停不住。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-8-11 17:51:00
7#
回复 5楼leadcom的帖子

您好,

关于您提到的高亮的问题,可以参考我上面的例子来做,就是在鼠标MouseMove时绘画即可。
原理都是一样的,实现的效果各不相同。

以上,谢谢。
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-8-11 17:46:00
6#
回复 5楼leadcom的帖子

您好,

根据您的需求,我完善了上面的Demo,添加了如下图的效果:



具体添加的功能是:
1、拖拽时有浮动缩略图
2、拖拽时有动态索引线,红色索引线表明图片松开之后会放置在哪里。

您可以参考我的代码,代码漏洞很多,只是大致满足了您的需求。
其中索引线我写成了红色,您可以根据你自己的需求进行修改,包括线的样式、颜色、粗细、位置。
图片浮动的原理是在ImageList上放了一个隐藏的PictureBox,当开始拖拽时加载当前拖拽的图片并显示出来,鼠标松开时再次隐藏。
你可以将PictureBox替换为Form,Form中再放一个PictureBox,这样可以将Form的透明度设置为50%就变为了半透明,效果看起来更好。
方法有很多,您都可以尝试。

这个代码中没有用到LEADTOOLS的任何功能,全是.Net自带的。



以上,谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-8-11 15:46:00
5#
该问题已部分解决,我们还需要做的更完善一些。比如:当第2页拖动到第1页时,能否高亮显示第1页,这样就知道我要从哪一页移动到哪一页。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-8-6 17:29:00
地板
回复 3楼leadcom的帖子

客气了,有其他问题欢迎继续交流。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢   
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-8-6 17:19:00
板凳
谢谢。大虾。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部