【发布时间】:2010-09-19 20:27:29
【问题描述】:
我在这里找到了这个模拟时钟教程:
http://www.codeproject.com/KB/selection/AnalogClockControl.aspx
现在可以拖放手时(如何检测鼠标在手时上?)并在拖动时显示手时移动?
我的意思是 .NET 中没有任何包含的框架可以让我检测到鼠标在 IPHONE sdk 之类的形状上吗?
【问题讨论】:
我在这里找到了这个模拟时钟教程:
http://www.codeproject.com/KB/selection/AnalogClockControl.aspx
现在可以拖放手时(如何检测鼠标在手时上?)并在拖动时显示手时移动?
我的意思是 .NET 中没有任何包含的框架可以让我检测到鼠标在 IPHONE sdk 之类的形状上吗?
【问题讨论】:
如果您使用 GraphicsPath 类绘制手,则可以做到这一点。它的 IsVisible() 方法允许您在 MouseDown 事件中实现命中测试并检测鼠标是否在手上。
【讨论】:
我建议你使用所谓的“Rx”:反应式扩展,没有它你可以做所有你想做的事,但是 Rx 让你的生活更美好、更轻松:)
有一个用于 .NET 的 Rx 和一个用于 Javascript 的 Rx,同样的东西,你可以在任何地方使用类似的技术。
这是一个很好的视频,如何在 .NET(本示例中为 WPF)中使用 Rx 进行拖放操作,即使您执行其他操作(winforms、silverlight、javascript) - 无论如何,请观看此视频,它会为您提供其他所有内容的想法和实现完全相同: http://channel9.msdn.com/blogs/j.van.gogh/writing-your-first-rx-application
这里是一个使用 Rx 描述的特定于 javascript 的拖放操作: http://weblogs.asp.net/podwysocki/archive/2010/03/19/introduction-to-the-reactive-extensions-for-javascript-drag-and-drop.aspx
【讨论】:
您将需要处理 MouseDown、MouseMove 和 MouseUp 事件。
您还可以从时钟中分解出时间到 xy 函数并编写逆 xy 到时间版本。
【讨论】: