关于拖放的问题

netcoder 2007-08-20 01:49:13
关于拖放的问题
实现要求:把一个标签拖放到窗体外,用户释放鼠标时执行自定义操作
问题:如何得知用户在窗体外释放了鼠标,会引发什么事件?
...全文
255 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2007-08-21
  • 打赏
  • 举报
回复
星星呢?
都被吓趴下了吗?!
yangpeiyu 2007-08-21
  • 打赏
  • 举报
回复
顶一个..
civanx 2007-08-21
  • 打赏
  • 举报
回复
当用户拖拽Item到控件外的Form上的时候,OnLostFocus 和 OnDragLeave 被调用。

参考:
http://bbs.msproject.cn/default.aspx?g=posts&t=246
http://bbs.msproject.cn/default.aspx?g=posts&t=299
netcoder 2007-08-21
  • 打赏
  • 举报
回复
光有拖还不行,还要知道用户什么时候释放鼠标键
可那时候鼠标已经在窗体之外了,如何判断呢?
yangpeiyu 2007-08-21
  • 打赏
  • 举报
回复
顶一下..学习..再接分..
zpingy 2007-08-21
  • 打赏
  • 举报
回复
控件本身也有拖动吧。你判断控件当前的坐标是否在主窗体内就可以了,需要坐标转换下
jetxia 2007-08-21
  • 打赏
  • 举报
回复
最近狂接分
北京的雾霾天 2007-08-21
  • 打赏
  • 举报
回复
可以使用ClientRectangle来判断就可以了,比如:
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (this.Capture)
{
if (!this.ClientRectangle.Contains(e.Location))
{
MessageBox.Show(this, "移出了");
}
}
}
netcoder 2007-08-21
  • 打赏
  • 举报
回复
星星呢?
都被吓趴下了吗?!
tsy_zx 2007-08-20
  • 打赏
  • 举报
回复
就应该是用鼠标的事件来实现,然后判断坐标。
xiaoliangwh 2007-08-20
  • 打赏
  • 举报
回复
up
netcoder 2007-08-20
  • 打赏
  • 举报
回复
xiaoniao2636(编程小鸟) :
你的思路是通过捕捉鼠标事件来实现(模拟)拖放的操作
而不是通过控件本省的拖放功能来实现的吧?
xiaoniao2636 2007-08-20
  • 打赏
  • 举报
回复
判断定点坐标应该可以,拖动的时候会触发事件,或者用鼠标的事件。通过判断你的point是否在主窗体内就好了,主窗体不是有 location 和seize吗
netcoder 2007-08-20
  • 打赏
  • 举报
回复
是这样,我拖到窗体外,只是想执行一些特定操作,比如弹出个窗体什么的?
zpingy 2007-08-20
  • 打赏
  • 举报
回复
拖到窗体外放?不太理解,在外部了你放显示在哪里?那不相当于删除了?
netcoder 2007-08-20
  • 打赏
  • 举报
回复
同一个窗体内部不同控件之间的拖放我已经实现了,现在愁的是如果拖到窗体外再放
fht123 2007-08-20
  • 打赏
  • 举报
回复
这里给点参考
http://blog.csdn.net/fht123/

110,534

社区成员

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

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

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