gpt4 book ai didi

c# - MouseButton.LeftButton 在拖放过程中错误地报告为释放 GiveFeedback

转载 作者:行者123 更新时间:2023-11-30 17:54:43 28 4
gpt4 key购买 nike

不确定为什么会这样。我在拖放时订阅了 GiveFeedback。

在这个 GiveFeedback 中,我正在检查鼠标左键的状态。如果发布了,我想做“某事”(不重要)。

下面总是返回“释放鼠标按钮”。

我的代码:

private void GiveDragFeedback(object sender, GiveFeedbackEventArgs args)
{
var mouseArgs = new MouseEventArgs(Mouse.PrimaryDevice, 0);

if (Mouse.LeftButton == MouseButtonState.Pressed)
Console.WriteLine("Mouse Button PRESSED");
else
Console.WriteLine("Mouse Button RELEASED");

if (Mouse.PrimaryDevice.LeftButton == MouseButtonState.Pressed)
_adorner_MouseMove(sender, new MouseEventArgs(Mouse.PrimaryDevice, 0));
else
_adorner_MouseUp(sender, mouseArgs);
}

最佳答案

改为这样做:

 protected override void OnQueryContinueDrag(QueryContinueDragEventArgs e)
{
if (!e.KeyStates.HasFlag(DragDropKeyStates.LeftMouseButton))
{
e.Action = DragAction.Cancel;
}
else
{
e.Action = DragAction.Continue;
}
}

关于c# - MouseButton.LeftButton 在拖放过程中错误地报告为释放 GiveFeedback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15799163/

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