代码之家  ›  专栏  ›  技术社区  ›  Matt Warren

如何使WinForm跟踪栏(滑块)在触摸屏显示器上的行为更为敏感?

  •  1
  • Matt Warren  · 技术社区  · 15 年前

    修改WinForms跟踪栏最简单的方法是什么?当用户单击它时,跟踪栏会跳到鼠标的位置?

    默认情况下,轨迹栏移动到当前位置和鼠标单击位置之间的一半。

    更新: 我试着这样做,这样我就可以使用触摸屏上的跟踪栏。用触摸屏拖动是非常困难的,因此要求跟踪栏直接跳到用户点击的地方。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Greg D    15 年前

    我从来没有这样做过,但我会先看看鼠标点击的位置。然后我可以计算出点击在轨迹栏当前范围内的位置,并将追踪器的位置设置为该点。

    我将从重写控件和操作与鼠标相关的事件函数开始。( OnMouseDown() ,例如)。注意,在某些情况下,调用重写函数的基类实现可能很重要,请务必逐个考虑它。(我刚和这件事发生冲突,所以这件事在我心里很新鲜。)

    请注意,只有在 非常 令人信服的理由。它们是标准的,因为它们在成百上千的程序中以可预测的方式运行。使某个对象的行为有所不同,只因为您的程序可能违反 Principle of Lease Astonishment . 我能想到的唯一一个跟踪条,我希望表现得像你描述的那样,是某种媒体播放器。

    编辑: 根据你的评论,是的,我认为你有一个令人信服的理由。:)