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

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

有帮助吗?

解决方案

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

  1. 确保控件之间有足够的间距 - 不要将它们全部挤在一起。空间很有吸引力。当您有更多空间时,您也可以尝试稍微不同地流动控件。

  2. 放入一些新的 3D 和光泽图像。您可以在自定义警告对话框上放置一个大的黄色感叹号。用新按钮替换旧的工具栏按钮。我使用过并且喜欢的两个库是 甘氨酸FX图标体验. 。您也可以找到免费的。理想情况下,让图形艺术家为您的应用程序执行的特定操作制作一些自定义操作,以填充您使用的常用操作(确保它们全部组合在一起)。这将使它看起来很漂亮。

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

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

  5. 不要考虑美观,而要考虑可用性。让最常见的行动方针变得显而易见。DevExpress 的 Mark Miller 做了关于用户界面设计科学的精彩演讲。我实际上有一个它的视频,也许可以通过一些清理将其发布到网上。

  6. 投资一些优质的第三方控件。替换所有控件可能会很痛苦,但是如果您使用默认网格,那么您确实可以使用来自 开发快递 或其他一些组件供应商。请注意,不同的供应商对其组件的使用方式有不同的理念,因此更换它们可能会有点痛苦。从小处开始试水,然后尝试一些非常复杂的东西,然后再承诺更换所有这些。唯一比丑陋的网格更糟糕的是丑陋的网格与漂亮的网格混合在一起。一致性是金!

  7. 您还可以考虑用 Ribbon Control 替换旧的工具栏和菜单,就像 Microsoft 在 Office 2007 中所做的那样。那么每个人都会认为你真的是住宅区!同样,只替换关键组件和 UI 元素,而不考虑需要修改整个 UI。

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

有些应用程序适合完全成熟的换肤,而其他应用程序则不然。一般来说,您不想要任何经常使用的华而不实的东西。

其他提示

另一件需要检查的事情是您的控件是否具有 平面样式 属性设置为 系统 而不是标准。

这样做的目的是确保应用程序使用单选按钮、标准按钮等的系统默认值。这将使您的所有应用程序不再是平坦的 Win 2000 外观,而是根据它们运行的​​操作系统而赋予它们 XP 或 Vista 的光彩。

我建议购买一个好的第 3 方控件库 - 基础设施学开发快递, ,只是一对。大多数这些库都使您能够在现有控件之上添加新的兼容控件 - 例如,您可以用增强版本替换默认的 EditBox。它们还使您可以访问一些时髦的新 UI,例如功能区或人们一直想要的 Outlook 风格的导航器。

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

不足之处:钱。

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

我尝试通过为表单提供精美的蓝色渐变背景等来使几年前创建的 WinForms 项目变得更加活跃,它在 XP 上看起来相当不错。但在 Vista 上却显得格格不入。去掉任何定制绘画并将形式恢复为“战舰灰色”使它看起来好多了恕我直言。

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

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

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

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

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

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

如果“按钮单击”事件中的所有内容都已存在,那么以我的愚见,重写是唯一的方法,否则尝试使用现有的代码库将非常耗时。

干杯

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top