34

我正在开发一个已经存在多年的 Visual Studio 2005 vb.net Windows 窗体项目。它充满了默认的文本框、标签、下拉菜单、数据网格、日期时间选择器——所有标准的东西。最终的结果是一个非常灰色、看起来很旧的项目。

使这个项目看起来新鲜和时髦的最佳方法是什么?我宁愿不使用所有全新的表单对象重写整个解决方案,但这可以避免吗?

4

7 回答 7

37

我今天实际上只是在整理一个对话。这在很大程度上取决于您拥有什么样的应用程序,以及它运行在什么操作系统上。这些技巧中的一些肯定会让事情变得更有趣。

  1. 确保控件之间有足够的间距——不要把它们塞在一起。空间很吸引人。当您有更多空间时,您也可以尝试以不同的方式流动控件。

  2. 放入一些新的 3D 和光泽图像。您可以在自定义警告对话框上放置一个大大的黄色感叹号。用新的替换旧的工具栏按钮。我使用过和喜欢的两个库是GlyFXIconExperience。你也可以找到免费的。理想情况下,请一位图形艺术家为您的应用程序执行的特定操作制作一些自定义操作,以填充您使用的常用操作(确保它们都一起使用)。这将大大使它看起来花哨。

  3. 尝试不同的字体。塔霍马是个好人。通常默认字体是 MS Sans Serif。你可以做得更好。不过要避免 Times New Roman 和 Comic Sans。还要避免大块的粗体——谨慎使用。通常,您希望所有字体都相同,并且仅谨慎使用不同的字体来将某些文本位分开。

  4. 为某些控件添加柔和的颜色。这是一个棘手的问题。你总是想使用柔和的颜色,通常没有明亮或鲜明的颜色,但颜色应该表明一些东西,或者如果你有一个网格,你可以用它来显示逻辑分组。这是一个滑坡。请注意,用户可能会更改他们的系统颜色,这将改变您的颜色外观。理想情况下,给他们一些颜色主题,或者改变颜色的能力。

  5. 与其考虑视觉效果,不如考虑可用性。使最常见的行动方案显而易见。DevExpress 的 Mark Miller 就用户界面设计科学进行了精彩的演讲。我实际上有它的视频,并且可以通过一些清理将其发布到网上。

  6. 投资一些优质的第 3 方控件。替换所有控件可能会很痛苦,但是如果您使用的是默认网格,那么您真的会使用DevExpress或其他一些组件供应商提供的良好网格来增加它的乐趣。请注意,不同的供应商对其组件的使用方式有不同的理念,因此更换它们可能会有点痛苦。从小处着手试水,然后在承诺更换所有这些之前尝试一些非常复杂的东西。唯一比丑陋的网格更糟糕的是丑陋的网格与漂亮的网格混合在一起。一致性是金!

  7. 您还可以考虑使用功能区控件替换旧的工具栏和菜单,就像 Microsoft 在 Office 2007 中所做的那样。然后每个人都会认为您真的是住宅区!再次只替换关键组件和 UI 元素,而不考虑您需要改造整个 UI。

  8. 当然要注意标签顺序等基础知识。一致性,一致性,一致性。

一些应用程序适合于全面换肤,而其他应用程序则不然。通常,您不想要任何经常使用的华而不实的东西。

于 2008-08-29T01:42:16.337 回答
9

还要检查的另一件事是您的控件的FlatStyle属性设置为System而不是 Standard。

这将确保应用程序使用单选按钮、标准按钮等的系统默认设置。这会将您的所有应用程序从平面 Win 2000 外观中提取出来,并根据它们运行的​​操作系统为它们提供 XP 或 Vista 的光彩。

于 2008-08-29T22:13:12.433 回答
6

这与其说是一个“答案”,不如说是一种观点。

我试图通过给表单一个花哨的蓝色渐变背景等来使我几年前创建的 WinForms 项目更加活跃,它在 XP 上看起来相当不错。但是在 Vista 上它看起来不合适。拿走任何定制绘画并将形式恢复为“战舰灰色”,恕我直言,它看起来好多了。

我看到很多应用程序(尤其是来自 MS 的)都带有自定义窗口镶边等,而它所做的只是减损了 Windows 提供的良好的一致性感。

我想我的意思是你不必太担心让你的应用程序看起来很时尚。如果您根据 SystemColors 枚举保留颜色,那么 Windows 可以为您做到这一点。

于 2008-08-29T00:42:17.650 回答
6

我建议购买一个好的第三方控件库——InfragisticsDevExpress,它们只是一对。这些库中的大多数使您能够在现有控件之上添加新的兼容控件 - 例如,您可以将默认的 EditBox 替换为增强版本。它们还使您可以访问一些时髦的新 UI,例如 Ribbon,或者人们一直想要的 Outlook 风格的导航器。

我特别推荐使用其中一个库的原因是它们被设计为在现有应用程序中相对易于使用,您可以获得支持、社区和各种升级路径/选项。

缺点:钱。

于 2008-08-29T01:23:09.003 回答
5

使这个项目看起来新鲜和时髦的最佳方法是什么?

恕我直言,您可以做的最好的事情是确保控件按逻辑顺序排列,并且它们之间有足够的间距,并在适当的地方添加组框/标签/等。

如果您尝试更改作为默认配色方案的“灰色海洋”,您的应用程序最终只会看起来很糟糕。

于 2008-08-29T01:06:33.553 回答
3

这取决于现有的“灰色旧外观”项目在代码方面的结构。例如,数据访问代码是否与数据访问层中的 UI 分离,业务逻辑是否在业务逻辑层中?如果是,那么清理 UI 以获得时髦的外观应该相对简单。

如果一切都在“按钮单击”事件中,那么重写是我拙见的唯一方法,否则尝试使用现有代码库将太耗时。

干杯

于 2008-08-29T00:40:29.543 回答
3

您可以对所有默认控件进行子类化并覆盖它们的外观。诚然,您必须遍历整个项目并将 TextBox 的所有引用更改为 MyTextBox,但所有默认属性和方法仍然有效。如果您与第 3 方供应商合作,则无法保证相同。这种方法的另一个优点是您可以一次选择一个控件并执行应用程序的增量升级。

于 2008-08-29T00:43:56.977 回答