gpt4 book ai didi

wpf - 如何在拖放期间检测鼠标释放

转载 作者:行者123 更新时间:2023-12-04 14:33:40 25 4
gpt4 key购买 nike

我有一个处理拖放的自定义 WPF 控件。我覆盖 OnDragOver 以便控件在忙于做其他事情时不会接受被丢弃的对象:

protected override void OnDragOver(DragEventArgs e)
{
base.OnDragOver(e);

if (isBusy)
e.Effects = DragDropEffects.None;
else
e.Effects = DragDropEffects.Move;

e.Handled = true;
}

在另一个启动拖放的控件中,有一些 UI 元素在操作开始时被禁用,如果操作被取消或在目标上释放鼠标而上述目标表示不允许操作,则应该启用。

我可以在源代码控制上使用哪些事件来检查第二个条件?

最佳答案

Hans Passant answered in a comment , 要检查操作是否被取消,您可以使用 return value, DragDropEffects , 的 DragDrop.DoDragDrop() .

None: The drop target does not accept the data.

Copy: The data is copied to the drop target.

Move: The data from the drag source is moved to the drop target.

Link: The data from the drag source is linked to the drop target.

Scroll: Scrolling is about to start or is currently occurring in the drop target.

All: The data is copied, removed from the drag source, and scrolled in the drop target.


None是你感兴趣的值。当鼠标松开时,操作会被取消, DoDragDrop()将返回 None .

关于wpf - 如何在拖放期间检测鼠标释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403611/

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