【发布时间】:2012-10-29 20:10:20
【问题描述】:
我有一个面向 .NET Framework 4 的现有 Windows 窗体桌面应用程序,并希望为其添加 Windows 8 触摸支持。
目前该程序在 Windows 8 中运行良好,我可以调整一些元素的大小,使其在触摸设备上更加用户友好。但是,在数据网格上添加手势(例如捏合缩放)以及对其他元素的滑动支持将大大有助于使应用程序在纯触摸环境中更加现代。
我正在投资 Visual Studio 2012,它可以让我瞄准 .NET 4.5 和新的 Windows 8 功能,但是有谁知道任何可以帮助我更新应用程序的资源吗?我特别担心以下几点:
- 无法在我的非触控开发机器上直接测试应用程序的触控功能。微软的模拟器似乎只支持 Metro 应用程序。我听说诸如 Splashtop 之类的平板电脑应用可以提供帮助(我有一台 Android 平板电脑),但还没有看到针对这种特定场景的任何具体内容
- WinForms 应用程序是否支持手势。我是否必须将整个 UI 升级到 WPF 才能使其正常工作? (如果我真的走这条路,我相信我也可以针对 Windows 7,因为 WPF 4 支持多点触控)
- 在运行时检测设备的触控支持并适当缩放/更改 UI,类似于 Microsoft 的 Windows RT Office 应用程序上的触控模式设置。我不想为了添加新功能而分叉项目
- 自动测试触摸交互
这绝不是一份详尽的清单,但我非常感谢那些过去可能进行过类似升级的人提供的任何建议。
【问题讨论】:
-
如果你的目标是 WinRT,你将不得不完全重写,因为 WinRT 没有等效的 WinForms。
-
@mydogisbox - 我的目标不是 WinRT,只是想升级现有的 WinForms 桌面应用程序以支持触摸。我应该在我的问题中更清楚地说明这一点。感谢您的意见。
-
[对于需要更新旧的 WinForms 应用以充分利用 Windows 10 触摸屏的任何人],请参阅我在Sheng Jiang's answer 下的评论以获取 Windows 7 SDK 获取手势示例的当前链接(@ 987654322@ 和
rotate)。已验证 C# 解决方案适用于运行 Windows 10 Pro 的 Microsoft Surface Pro (2017)。
标签: .net winforms user-interface windows-8 touch