【问题标题】:C# page scrolling like iPhone?像 iPhone 一样滚动 C# 页面?
【发布时间】:2026-01-28 07:10:02
【问题描述】:

如何制作像 iPhone 菜单一样的水平滚动页面?这是一个触摸屏应用程序,我想用按钮制作几个页面。

【问题讨论】:

  • 您使用的是什么触摸屏 API?
  • .net 3.5 和 mirabyte 的触控套件测试版
  • 你使用的是什么 UI,winforms、WPF、Silverlight、Web?
  • winforms,触控套件不支持wpf :((

标签: c# scroll touchscreen


【解决方案1】:

没有做过触摸,但一般来说,处理手指向下事件、手指移动事件和手指向上事件。 计算显示器上的速度(距离/时间——这可以用绝对距离单位或像素来完成)。在手指移动事件期间,以距离增量同步滚动内容。在手指向上事件之后,快速降低计算速度并继续使显示沿与手指向上事件之前相同的轴滚动。 为了更真实的效果,退化函数可能不是线性的。此外,可能应该有一个计算速度的初始一半,否则你会结束滚动菜单太远。玩弄数字,你会找到最佳位置。

【讨论】:

    【解决方案2】:

    这不是 C# 问题,因为如果菜单和 UI 位于服务器上,那么它实际上与 JavaScript 和 HTML 更相关。滚动页面之类的 iPhone 菜单是 UIKit 的副产品,它是表示层,类似于 HTML/JavaScript 是表示层解决方案的方式。

    我可能会从这个库开始,看看它是否适合您的需求:http://www.jqtouch.com/

    【讨论】:

    • 它看起来与 HTML 页面无关,所以我不确定是否使用 HTML/JavaScript。该问题专门针对 C# 应用程序提出。
    • 并非所有的 GUI 应用程序都是 HTML/CSS/JavaScript。
    • 我读它的方式似乎是 HTML 或 WPF,因为有些设备仍会运行 Web 浏览器。