【问题标题】:Visual Studio C# desktop application GUI is rendering differently on different machine?Visual Studio C# 桌面应用程序 GUI 在不同机器上的呈现方式不同?
【发布时间】:2015-07-21 18:00:18
【问题描述】:

所以我有我制作的这个桌面应用程序,我正试图将它安装在一堆客户端机器上。用户界面在我的机器上看起来很好,当我将它安装在客户端 A 的计算机上时,它在那里看起来也很好。但是我去把它安装在客户端 B 的计算机上,在客户端 B 的计算机上,应用程序看起来很奇怪。

1) 我有一个表单的树节点,而不是它有一个小加号来下拉所有“孩子”它有一个奇怪的 8 位小星星??

2)另外,我在界面上有一个标签,标签的边框都是黑色的,标签的颜色不对。

基本上,界面看起来像 Windows 98 的东西,我不知道可能出了什么问题。有什么建议么?

【问题讨论】:

  • 也许计算机主题已设置为“Windows '98'ish'?
  • 我刚把我的机器换​​成windows经典主题,它看起来和客户端b的屏幕一模一样!谢谢!!

标签: c# windows user-interface visual-studio-2012 rendering


【解决方案1】:

这是正常行为。即使在 WPF 上,所提供的所有控件都具有特定于操作系统设置的主题,并且要在不同版本之间保持相同的外观,您必须提供自己的主题。

还有一点,WPF 单位(1/96 英寸)不是像素,它会根据显示器的设置进行调整,如果您在设计应用时考虑到像素,这可能会产生一些失真。

要在 WPF 中使用自定义主题,谷歌上的任何搜索都会显示如何做到这一点,实际上非常简单。

另一方面,Winforms 非常难,我建议使用预制控件:

https://www.devexpress.com/Products/NET/Controls/WinForms/Skins/ 或者 http://www.telerik.com/help/winforms/themes-using-custom-themes.html

有一些关于如何自己做的教程: http://www.codeproject.com/Articles/61485/Winforms-SkinFramework

但是如果可能的话,我会建议你离开 winforms 并使用 WPF,自定义和创建 UI 会容易得多,即使一开始可能看起来更难。

【讨论】:

  • 我将如何提供自己的主题?这是我可以添加到 app.config 中的东西吗?
  • 可能还有其他免费选项可以自定义winforms,但系统本身太有限了。
猜你喜欢
  • 2013-10-31
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2015-05-30
  • 2020-10-17
  • 2018-12-10
相关资源
最近更新 更多