.Net DateTimePicker看起来很奇怪

时间:2015-09-10 02:28:10

标签: .net winforms visual-studio-2013

我在Windows 7旗舰版x64 SP1中运行VS Ultimate 2013(v12.0.31101.00 Update 4)。当我创建一个包含System.Windows.Forms.DateTimePicker并运行的Windows窗体时,日历在每个字段前都有奇数垂直线:

DateTimePicker with odd vertical lines

无论我是在Release模式还是Debug模式下运行,无论是从VS内运行还是双击bin文件夹中生成的exe,都会显示这些行。有谁知道如何摆脱垂直线?

- 编辑 -

由于评论中的建议,我进行了一些额外的测试,其结果似乎缩小了可能的问题。

首先,我将生成的可执行文件复制到Windows 10 Pro x64计算机上。在Win 10上运行相同的可执行文件时,此问题不存在。

接下来,我使用VS 2015 Enterprise在Win 10 Pro x64机器上编译。在Win 10中运行时,此问题不存在。但是,将可执行文件复制到Win 7计算机仍然会显示垂直条。

上述测试让我觉得这与我正在使用的OS / .Net版本直接相关。

有人建议这可能是图形驱动程序问题。我有英特尔集成显卡,以及我机器上安装的专用NVidia显卡。首先,我使用每个GPU运行。无论我使用哪种GPU,结果都是一样的。这使得它成为驾驶员问题的可能性几乎为零。但是,我仍然更新了两个图形驱动程序,就像另一个数据点一样。同样,这没有任何效果,并且DateTimePicker仍然在我的Windows 7机器上显示垂直线。

所以,我的问题仍然存在。在Windows 7 Pro x64 SP1上定位.Net Framework 4.5时,有没有其他人看到过DateTimePicker的问题?

1 个答案:

答案 0 :(得分:1)

显然,这是在Windows 7 x64 SP1上运行的.NET Framework 4.5的问题。当我将目标框架更改为.NET Framework 4.5.1时,此问题已得到解决。我无法解释为什么会这样,但至少有一个解决办法。

- 编辑 -

我刚刚发现对框架版本4.5.1的更改并不是解决问题的原因。当我进行更改时,Visual Studio会自动将以下内容添加到csproj中的每个属性组:

<Prefer32Bit>false</Prefer32Bit>

将此行添加到每个配置后,此问题已得到解决。我仍在寻找关于为何解决这个问题的解释,所以我可以理解将来如何避免它。