【问题标题】:C# windows desktop applicationC# windows 桌面应用程序
【发布时间】:2012-04-18 06:05:32
【问题描述】:

我熟悉使用 C# 在 ASP.NET MVC 中创建网站。但我从未学习过如何使用 C# 创建桌面应用程序。所以我想进一步研究一下。自从我对 ASP.NET 有经验以来,我几乎涵盖了后端。但是我不知道什么时候涉及到前端开发。我猜微软提供了几种方法来创建桌面应用程序(表单、MVC,...),就像 java 提供不同的包一样。但是当我打开 Visual Studio 时,我看到的只是创建 Windows 窗体应用程序的可能性。

  1. 创建 Windows 桌面有哪些可能性 C# 中的应用程序(Windows 窗体、mvc?)
  2. 哪个被认为是“最好的”/“最广泛的”?
  3. 有推荐的教程、指南或免费电子书吗?
  4. 我们随时欢迎任何其他建议。

【问题讨论】:

  • 看看 Windows Presentation Foundation
  • 我会选择 windows 窗体,因为这是最容易开始的窗体。也可以使用(类似 xml 的)WPF 来实现更好、更精美的图形桌面应用程序。

标签: c# forms model-view-controller user-interface


【解决方案1】:

我推荐 WPF 而不是 WinForms,MVVM 模式最适合。

WPF 比 WinForms 更现代、更强大、更灵活,WinForms 在技术上并没有过时,但没有那么有前途(可能类似于 WebForms)。 XAML 技能将对 Silverlight 和 Metro 应用程序开发很有用。

至于 WPF / MVVM 资源 - 互联网上有大量资源。首先,看看Prism framework

Comparing the MVC and MVVM patterns along with their respective ViewModels - 也是一本好书。

【讨论】:

    【解决方案2】:

    我主张相反。与 WinForms 相比,WPF 有很多东西要学。一旦你掌握了后者,就一定要进步到前者。另外,请阅读 Adam Nathan 的《Windows Presentation Foundation Unleashed》一书,因为这将有助于您顺利进行。

    【讨论】:

      【解决方案3】:
      1. 是的,winform、wpf都用了,ms的mvc没有,是ms的web应用的pattern
      2. 是的,拖钓最有帮助
      3. 是的,我大部分时间都在使用谷歌教程。我从http://asp.net网站学习asp.net

      【讨论】:

        【解决方案4】:

        如果您使用的是大多数人都使用的 Visual Studio,那么这是一个艰难的选择。

        WinForms 非常适合快速项目,因为它使用 Microsoft 相当旧的表单(它们已经在视觉上进行了改进很多并且明显调整过)它们有很多限制(例如在文本字段之类的东西上没有填充),但它们看起来仍然不错,如果您只想要一个具有干净 UI 的常规应用程序,它们也很好。

        如果您想要一个更容易调整和更可定制的动态版本,并且还使用 XAML 将设计与代码分开,那么您肯定需要 WPF。遗憾的是,您需要花费大量时间才能流利地学习 XAML。

        所以总结一下,如果你想要一个看起来不错的快速项目,并且你不想学习 XAML,WinForms 如果您想花更多时间使其更具视觉吸引力和可定制性(主要是在编码端,而不是最终用户端),它必须是 WPF。

        WPF 的另一个优点是,正如我所说,它将设计和代码分开,因此您可以在未来的某个时候与设计师合作。据我所知,还有硬编码的 WPF,但大多数人使用 XAML。

        另外,我从来没有查过这个,但我猜想,由于设计/代码分离,在专业环境中找到具有 WPF 经验的工作比 WinForms 更容易

        【讨论】:

        • 谢谢,这就是我要找的答案。
        • 启动时间怎么样?上次我使用 WPF(很多年前)时,与 win 表单相比,我的启动时间更差。即使在检查了this
        猜你喜欢
        • 1970-01-01
        • 2011-07-29
        • 1970-01-01
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多