加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 具有大字体的Windows对话框

发布时间:2020-12-14 02:16:24 所属栏目:Windows 来源:网络整理
导读:我正在咨询一个大型.Net winforms项目,该项目必须能够以“触摸”模式运行,因此可以使用触摸屏界面进行操作.应用程序架构已经包含扩展逻辑,用于放大标准.Net表单和控件上的字体/显示,自定义控件也可以处理缩放. 问题是应用程序使用OpenFileDialog和SaveFileDi
我正在咨询一个大型.Net winforms项目,该项目必须能够以“触摸”模式运行,因此可以使用触摸屏界面进行操作.应用程序架构已经包含扩展逻辑,用于放大标准.Net表单和控件上的字体/显示,自定义控件也可以处理缩放.

问题是应用程序使用OpenFileDialog和SaveFileDialog,它不能使用相同的逻辑进行扩展(这实际上是在递归地调整控件和表单上Font属性的大小).我相信这些对话框本质上是本机Windows对话框,而OpenFileDialog类实际上只是包装类,它们公开了一个标准的.Net接口来与它们进行交互.

一种解决方案可能是为这些事情实现自定义对话框,但这可能是一些广泛的工作.我们真正想做的是以某种方式缩放这个特定对话框的字体大小(可能通过一些P / Invoke窗口处理魔术)?

我知道触摸启用的一个解决方案通常是调整Windows的字体大小,但是这个想法并没有真正吸引这家公司,他们宁愿扩展应用程序本身并使其余的操作系统不受影响.

那么,关于如何将这些对话框扩展为更大的字体的任何经验或想法?或者我们应该咬紧牙关并为此创建自定义对话框?

解决方法

I know that one solution for touch-enabling would be to adjust the
font size of Windows in general,but that idea is not really catching
on with this company,they would rather scale the app itself and leave
the rest of the OS untouched.

您引用的对话框是“操作系统的其余部分”的一部分,他们宁愿保持不变.您可以使用常用对话框,强制在控制面板中增加字体缩放,即在系统范围内,或者自己重新实现这些对话框.

另一种方法可能是使用适当的API创建单独的Windows桌面,增加其字体缩放,并在那里执行应用程序(即让应用程序创建,使用和销毁该桌面).然后,应用程序和所有常见对话框将按比例放大.
但是,应用程序永远不会在一个屏幕上与其他应用程序一起看到,并且您必须在应用程序中处理切换桌面(我认为).当应用程序处于活动状态时,您不会看到除应用程序GUI之外的任何内容.没有开始按钮,没有任务栏,没有坚果.有关详细信息,请参见例如http://www.codeproject.com/KB/cs/csdesktopswitching.aspx.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读