gpt4 book ai didi

按下 ctrl 键的 WPF DragDrop

转载 作者:行者123 更新时间:2023-12-04 20:38:55 27 4
gpt4 key购买 nike

我正在尝试以 wpf 形式实现拖放功能。目的是通过拖拽实现用户控件的复制(类似于windows 7文件夹复制使用ctrl + Mouseleftbutton拖放)。当 ctrl 键没有按下时,drop 工作正常,但是当 ctrl 键按下时,drop 事件没有被触发。当按下 ctrl 键时,如何检测掉落?

最佳答案

您无需检测按键即可完成您的任务。这完全取决于 (DragEventArgs).AllowedEffects 属性的值。这最初是在您调用 DragDrop.DoDragDrop 方法时设置的:

DragDrop.DoDragDrop(dragSource, data, DragDropEffects);

此处,DragDropEffects 属性表示 DragDropEffects 类型的枚举。如果将其设置为 DragDropEffects.Copy | DragDropEffects.Move,然后您应该能够移动复制(通过按住 Ctrl 键):

DragDrop.DoDragDrop(dragSource, data, DragDropEffects.Copy | DragDropEffects.Move);

现在,在接收 DragEventArgs 类型参数的拖放处理程序之一中,您应该看到 (DragEventArgs).AllowedEffects 属性将具有您在 DragDrop.DoDragDrop 方法中设置的值。您只需将 (DragEventArgs).Effects 属性设置为相同的值,以便在用户释放鼠标按钮时“允许”这两个操作发生。

关于按下 ctrl 键的 WPF DragDrop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18736458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com