运行时拖动控件?在自定义组件中如何实现

noall 2018-02-07 03:39:44
写了一个用户控件,如何 让用户控件在运行时可以拖动呢。

一个界面上有二十多个 用户控件,不可能每个控件都用mousemove。。。down ,uP都写一遍吧。

有没什么统一简音的方法,可以实现?谢谢
...全文
330 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
noall 2018-03-05
  • 打赏
  • 举报
回复
搞定了, 其实就写在自定义控件里就可以了。
秋的红果实 2018-02-08
  • 打赏
  • 举报
回复
建一个类 把所有控件放进去 类中写mousemove,down ,uP对应的方法 类的构造函数里,通过循环,给这些控件注册事件方法,类似于xxx.onmousemove+=。。。。。。
mk_lucifer 2018-02-08
  • 打赏
  • 举报
回复
写一个DragHelper类,目的就是实现控件拖拽的所有事项,枚举子控件全部添加到DragHelper,该类可用来判断要拖拽的焦点控件,以及实现拖拽后的如何改变属性,包括向控件本身尺寸的拉大缩小都可以增加。。。。 构造协助器类来实现某些特定功能式常用的方法,面向对象方法通过抽象以类的方式解决才是常见的方法,毫无头绪流水账式的码代码,连C语言都不这么做,其实实现1个控件拖拽和1万个控件拖拽代码上是没区别的,区别在于思路是否正确。。。
noall 2018-02-07
  • 打赏
  • 举报
回复
是这样的。 要在运行时期单个拖动,网上确实有很多相关的代码可以学习的。有些还会改成自己想要的,不可能直接拿来用的。 也可以不需要给出代码啊,帮忙整个思路的也可以。 我是想 自己写下控件,然后,这个控件,本身就直接能有这样拖动的功能,而不用在界面上每添加一个控件就写一遍拖动功能的代码。
  • 打赏
  • 举报
回复
从你说的“不可能每个控件都用mousemove。。。down ,uP都写一遍吧”这个其实就没有办法回答。因为代码都是人写的,哪怕“一条代码就能给你印钞票”的功能,它也是人写出来的,底层也有几十万行代码需要逐一执行。 计算机、编程本身就是干这类人类所不能做的苦差事儿的。自己之所有不能动手开始设计开发,其实根本原因往往不在于外界不给你免费拜拜奉送代码给你,而往往是因为自己没有先把一个好的问题总结出来、提出来。你提出什么样的问题,往往决定了你会获得什么样的回答。 用户要一下子拖动100个组件,肯定不能让用户一个组件一个组件去 mousedown、mousemove,那么你设计的用户操作行为应该什么样子呢?如果连这个脑筋都不动,你编程就没有动力,只想抄代码了。而这方面先主动重构你的问题,你也就能正常地搜到资料学习了。
  • 打赏
  • 举报
回复
你这个是需求问题。假设有100个组件,你想让用户怎么拖动?这是不懂编程的人都应该回答的设计问题,为什么要纠结技术呢?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧