首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mouse.Synchronize()

Mouse.Synchronize()
EN

Stack Overflow用户
提问于 2011-03-30 13:50:11
回答 2查看 946关注 0票数 6

Mouse.Synchronize()在.Net中做什么?

MSDN说它“强制鼠标重新同步”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-30 15:43:20

只是我的假设:

类似的方法存在于Stylus类中:Stylus.Synchronize。它应该与Stylus.DirectlyOver一起使用,以确保手写笔指针仍然位于按钮上方,尽管按钮已移动到其他位置。

我相信在两个类的父类中都实现了同步:和Stylus这对Stylus很重要,但对鼠标来说不是必要的。我试过Stylus.Synchronize的例子(我刚刚把"Stylus“替换成了"Mouse”),它在没有Mouse.Synchronize();行的情况下也工作得很好。

票数 2
EN

Stack Overflow用户

发布于 2011-03-30 15:58:31

好的,这里值得一提的是该方法的源代码:

代码语言:javascript
复制
public void Synchronize()
{
    PresentationSource criticalActiveSource = this.CriticalActiveSource;
    if (((criticalActiveSource != null) && (criticalActiveSource.CompositionTarget != null)) && !criticalActiveSource.CompositionTarget.IsDisposed)
    {
        InputReportEventArgs args;
        int tickCount = Environment.TickCount;
        Point clientPosition = this.GetClientPosition();
        RawMouseInputReport report = new RawMouseInputReport(InputMode.Foreground, tickCount, criticalActiveSource, RawMouseActions.AbsoluteMove, (int) clientPosition.X, (int) clientPosition.Y, 0, IntPtr.Zero);
        report._isSynchronize = true;
        if (this._stylusDevice != null)
        {
            args = new InputReportEventArgs(this._stylusDevice, report);
        }
        else
        {
            args = new InputReportEventArgs(this, report);
        }
        args.RoutedEvent = InputManager.PreviewInputReportEvent;
        this._inputManager.Value.ProcessInput(args);
    }
}

重要的一点是:

代码语言:javascript
复制
RawMouseInputReport report = new RawMouseInputReport(InputMode.Foreground, tickCount, criticalActiveSource, RawMouseActions.AbsoluteMove, (int) clientPosition.X, (int) clientPosition.Y, 0, IntPtr.Zero);

根据这一点,该方法试图将鼠标移动到它已经在的位置,然后分析结果--这是我自己的假设,如果在以前的位置和新的位置之间有任何偏移,它将被存储在某个地方,并用于任何未来的鼠标操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5482392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档