【问题标题】:Creating My Own Double-Click Functionality创建我自己的双击功能
【发布时间】:2012-04-08 03:30:59
【问题描述】:

我对我的 SUR40 如何读取我的双击感到不满意。我希望以某种方式为我的程序和(如果可能的话)SUR40/Windows 7 创建我自己的双击功能。 这是我想改变的当前问题。您可以提供的任何帮助/建议/代码将不胜感激。请具体说明,因为我是使用 WPF/SDK2.0 的新手。我目前正在使用 Visual Studio 2010 和 Expression Blend 4 编写 C# 编程语言。

1) 我需要精确的两次触摸,这不是自然发生的。我想弄清楚如何调整可以点击两次的“区域”,并且表格、Windows 7 和我的程序接受它作为双击。当前的问题是,如果我在距离第一次点击一毫米的地方触摸它,它会将其读取为拖动或延迟双击(例如,当您要重命名文件时,双击比平常慢一点它)。

2) 基本上和问题 1 一样,但是通过“按住”(右键单击)触摸,您将手指按住几秒钟,然后您会得到围绕手指的圆圈,从而创建右键单击菜单。与问题 1 一样;如果我的手指滑动超过头发的宽度,它会将其视为拖动而不是右键单击。我希望以某种方式对此进行调整,以便如果我的手指稍微摆动,它仍然会将手指视为点击。我也很难弄清楚如何让这个右键单击功能与我的程序一起工作。

3) 在我的程序中,我有带有堆栈面板和扩展器的菜单。在这些菜单中是不同的菜单(被视为 ISBNodes),它们可以单击以查看其子级或拖出以在新窗口中为它们打开。再次,接受点击的区域太小,很多时候本来应该点击的地方被解读为拖累。我也希望解决这个问题,我能想到的唯一方法是以某种方式调整可接受点击的区域,以便您的手指有一点“摇摆空间”。

【问题讨论】:

    标签: c# wpf sdk double-click pixelsense


    【解决方案1】:

    Surface 是一种专用设备,旨在与任何专用应用程序一起使用。如果您尝试使用它来控制 Windows、Web 浏览器或任何其他桌面应用程序,那么您会发现体验非常糟糕。这些东西根本不是为触摸而设计的。 Windows 8 将使它变得更好,但谁知道它什么时候准备好,以及 Surface 是否/何时会更新以兼容它。

    Surface 设计指南强烈反对右键单击和双击。仔细阅读这些内容,并将您的思维转变为构建出色的触控应用程序而不是扩展老式鼠标概念。如果您的扩展器太小而无法准确触摸,那么是的……让它们更大。 Surface 设计指南还会告诉您推荐的命中目标的最小尺寸。

    【讨论】:

    • 您没有这些 Surface 设计指南的链接吗?
    • 这不是控件大小的问题,问题是接受触摸的“区域”。就像我说的,如果我离我着陆的地方一毫米或更小,双击将不被接受,而是拖动或其他操作。我的总体目标是以某种方式增加这个“区域”,或者在单击一次后,将增加第二次触摸将被接受的区域,让我的双击更自然,因为我使用的是手指,而不是鼠标那样准确性太不现实了。
    • 另外,我不想要 Windows 8,因为为整个操作系统设置“终止开关”会带来巨大的安全风险。除非他们摆脱它,否则它不可能在这个硬件上继续运行(其他复杂性阻止我也安装 Windows 8,让我们不再详细介绍这些)。
    • @Matt1713 如果您使用 Surface SDK 中的控件(专为触摸而设计的控件),您将不会收到鼠标拖动事件。 WPF 扩展器控件(或 Surface SDK 中未提供的任何其他控件)不适用于触摸输入。 Win8 Metro 控件进行了触摸优化,但我不建议您必须使用它:)
    • 这就是拖动事件的一个问题;我想我应该提到它是制作的,但是它使用了所有 SDK 命令。而且它仍然没有解释我可以在哪里/如何操纵单击的“区域”的大小,以便双击或单击将更容易阅读,而无需让您的手指具有逐像素的精度几乎是不可能的——尤其是双击。
    猜你喜欢
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多