繁体   English   中英

Windows 10 Creators更新后,DateTimePicker出现乱码

[英]DateTimePicker garbled after Windows 10 Creators Update

使用VS 2015,C#,Winforms构建的应用程序,使用DateTimePicker Windows控件,在将计算机更新到Windows Creators Update后,文本会出现乱码。

乱码的文字图片

有没有其他人遇到这个或有任何建议的工作?

在显示包含DateTimePicker的Form之前,在WinForms应用程序中启用Visual Styles。

Application.EnableVisualStyles();

//Form1 contains the DateTimePicker component
Application.Run(new Form1());

Windows 10的6月累积更新(KB 4022725)包括更新的COMCTL32.DLL,其中包含此问题的修复程序。 安装更新后,文件版本应为5.82.15063.413。

https://social.msdn.microsoft.com/Forums/en-US/4cf03067-46c4-4962-af8c-f4b1483e88ba/date-time-picker-garbled-after-windows-10-creators-update?forum=windowsgeneraldevelopmentissues

你有高DPI显示器吗? 即使你不这样做,更新的dpi缩放也很有可能在这里出错。 如果是这样,您可以通过在项目清单文件的dpiAwaredpiAwareness值中设置一个值来“修复”这个,如下所述:

Windows 10 Creators更新中桌面应用程序的高DPI扩展性改进

我自己还没有这么做,所以现在我只能指出你在哪里看,而不是指出你的情况应该是什么样的正确值。

即使这不是您的问题,您也可能需要花几分钟时间检查您的应用是否在高DPI情况下处理得很好。 这也是让你的公司为你买一台漂亮的新显示器的一个不错的借口:)

启用XP Visual Styles为我修复了它。

所以Windows 10 1703引入了一些新的挑战,其中包括这种奇怪的拒绝在DateTimePicker控件中显示日期,除非您勾选应用程序的“启用XP视觉样式”框(或以编程方式执行)。 这个调整确实解决了日期再现问题,但现在其他控件,如下拉框,下拉列表文本框和按钮变得扁平和沉闷。 不好。 我们需要的是一个真正的修复,它使“XP视觉风格”变得不必要,或者是Windows Forms编程的出路,所以不支持有趣吗?

我今天也遇到过这个。 我的datetimepicker是随机渲染的,但从未加入过。 我将此作为一种解决方法:我的环境是VS2015,.net 3.5和winforms我的设置是Surface Pro 3,带有新的docker和2个外部显示器res 2560x1440并且缩放100%。 为我的项目添加了app.manifest,因为我之前没有。 将dpiAware添加到app.manifest是这样的系统:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>      
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/System</dpiAware>
</windowsSettings>
</application>

我还在我的表单上将AutoScaleMode设置为None(但是在Inherited中获得了大致相同的结果)。 dpiAware似乎有所帮助(但不是100%稳定)。 这在运行已编译的应用程序时有效,但在从Visual Studio进行调试时不起作用。 然后我只得到一个句点(。),这是我的日期分隔符号。

在运行已编译的exe时应用解决方法 后更新到创建者更新 的datetimepicker示例

如果无法将应用程序更新到.net 4.7,这可能会有所帮助

因此,我们结束了删除清单文件,现在控件正确呈现。 奇怪的是,只包含一个带有版本和名称的assemblyIdentity标签的新清单文件会导致此窗口控件发生故障。 我意识到,对于其他人来说,删除清单可能不是一种选择,但是,这已经解决了我们的问题。

我们收到了同样的问题。 VB.NET VS 2012 .NET 4.5。 datetimepicker搞砸了。 我也发布了这个

https://connect.microsoft.com/VisualStudio/feedback/details/3129203/date-in-datetime-of-mfc-application-is-getting-cropped-in-win10-redstone2-build-15055

我在这里和其他地方尝试了大多数建议,包括清单更改,.NET 4.7等。但是,我的设置中需要的另一个更改是增加控件本身的CalendarFont大小。

我系统的默认值是7.875。 将其更改为10pt更正了显示问题(将其更改为略低的值可改善显示但未更正显示)。

免责声明:这尚未经过深入测试,可能会破坏其他情况。 此信息旨在帮助您找到最终解决方案。

像其他人建议的那样,将这条线放到你的主要形式上,它对我有用:

Application.EnableVisualStyles()

您还可以取消注释app.manifest底部的行。 这取决于项目。

此问题的修复程序计划包含在Windows 10的6月累积更新中。

这是COMCTL32.DLL版本5中实现的日期时间选择器控件中的错误。在不久的将来应该有针对此问题的修复程序。

COMCTL32.DLL版本6中实现的日期时间选择器控件似乎不受此问题的影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM