|
22
|
| Trainee4Life · 技术社区 · 16 年前 |
|
|
1
56
在重新检查了您的注释和代码之后,我花了一些精力理解并重现了您所讨论的问题。 您缺少的是行:
在你的
为什么有效
我强烈建议您下次发布包含 最小可能代码 再现问题。我为最初的困惑道歉,但是很难弄清楚这件事到底发生了什么。 |
|
2
1
我认为这个问题已经得到了很好的回答,但我只是认为这是一个宝贵的教训,我在做拖放时学到了… 传递给DoDragDrop方法的初始DragDropEffect应被视为对应执行的操作的建议(或期望)。如果我没记错的话,这个方法会返回当拖放操作实际成功(而不是取消)时目标执行的实际效果。 这在源和目标之间创建了一个简单的通信协议,主要用于存在多个可能的拖动目标的情况。它可以让你区分实际发生的事情。考虑到这一点特别有用,因为您可能正在与一个甚至不知道或不期望的组件进行交互。如果考虑到这一点,您有时会获得意想不到的好处,因为拖拽变得更有用,这是最初计划的,因为突然间其他组件可以在没有任何其他显式编码的情况下进行互操作。 如果这样说的话,我想.NET框架在默认情况下应该以不同的方式处理复制和移动操作,因为一个操作是建设性的,另一个操作是破坏性的。我认为他们试图避免不必要的破坏性行动发生而没有得到明确的处理。不确定,只是一个想法:) |