【问题标题】:beautiful win forms application design in c#c#中漂亮的win表单应用程序设计
【发布时间】:2011-02-05 23:49:10
【问题描述】:

如何设计一个漂亮的win表单UI。(有点像MSN消息客户端)

我在谷歌上搜索并找不到开始我的错误获胜表格学习的方法。 我错过了一些 C# win 表单设计技术吗? 我必须开始 .net 3.5 学习吗?

使用.net 2.0 vs2005。

【问题讨论】:

标签: c# winforms


【解决方案1】:

您应该考虑使用Windows Presentation Foundation (WPF) 而不是 Winforms 进行自定义 UI 设计。虽然您必须将开发环境升级到 Visual Studio 2008 或 Visual Studio 2010。

WPF 基于 XAML,它是一种基于 XML 的格式,用于定义您的应用程序、事件等。 WPF 是 Microsoft 在 Winforms 上推荐使用的技术。您可以开始使用此 MSDN 教程:Getting Started with Windows Presentation Foundation

WPF 很好,因为它基于 DirectX(不,您根本不需要了解 DirectX)并且将使用 GPU,而不是像 Microsoft 的传统其他 UI 平台那样使用 GDI 对象。

否则,如果您真的打算使用 Winforms,我建议您购买 3rd 方控件库。

考虑到您在任何项目中投入的小时数与 Visual Studio 价格的小时工资(倍),Visual Studio 的价格可能对于几乎任何项目都是合理的。您还可以使用 Visual Studio 的 Express 版本。

【讨论】:

  • 不幸的是,它也有缺点:它没有 WPF 的控件那么多,教程也没有那么多,而且它在远程桌面上效果不佳
  • @BlueRaja:没有那么多控件?不同意,如果您想要一个仅在 winforms 中的,您可以轻松集成 winform 控件。没有那么多教程?不要这么认为,我相信 WPF 教程的数量稳步增长的速度比 Winform 教程的数量要快。不能在远程桌面上工作?见这里:stackoverflow.com/questions/198030/…
  • 它确实可以在 RDP 上工作,但效果不佳,因为所有内容都是作为渲染图形而不是 GDI 命令发送的
  • wpf 不支持 MDI,因此无法用于大多数桌面应用程序。
【解决方案2】:

IMO,“你如何设计一个漂亮的 UI”就像问“你如何画一幅漂亮的画?”您可以用油画、水彩甚至木炭制作精美的画作——这取决于艺术家的技巧。

话虽如此,在进行自定义 UI 时,使用 WPF 确实会让您的生活更轻松。 WinForms 是相当硬编码的,可以使用标准的 Windows 小部件。就个人而言,我不认为这是一件坏事:UI 的一致性也很重要。

【讨论】:

  • 在任何人变得挑剔之前,我知道木炭画不是“绘画”,但你明白了 :)
  • 我喜欢你的比喻,但无论如何,拥有一支画笔和上艺术课都会有所帮助。 +1
  • 我最初打算将 WPF 用于我的全栈项目,并被指示使用 Win Forms,因为组件是我正在使用的普通用户已经熟悉的东西。它可能没有我个人想要的所有花里胡哨,但它变成了一个完美的 UI。
【解决方案3】:

如果您有基于 Web 的客户端 UI 体验并且无法升级到 WPF,则可以将 WebBrowser 控件与 jQuery(或任何其他 javascript 框架)一起使用。

这将允许您实现漂亮的动画 UI(即使用 jQuery UI)以及用于自定义页面元素样式的 CSS。

使用 WebBrowser 的“ObjectForScripting”和“Document/DOMDocument”属性,您可以在 Javascript 代码和 C#/VB.NET 代码之间进行完全的 2 路访问。

这种方法的最大优势是您可以应用现有的 DHTML/Javascript/CSS 知识,而不是学习 WPF。

最大的缺点可能是 Webbrowser 控件是一个较大的依赖项,因为它只是包装了 Internet Explorer 使用的底层 HTML 引擎。然而,当您在自己的应用程序中获得完整的 DHTML 对象模型时,这也可能是积极的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多