简单的非花哨的Windows应用程序 - 我应该从WPF还是WinForms开始?

时间:2009-07-24 17:36:26

标签: c# wpf winforms

我即将开始使用Microsoft Visual C#2008(Express版)开发一个小型Windows应用程序。我是C#和.NET的新手,所以这是一个新手问题。我应该从WPF开始还是应该坚持使用旧的WinForms?

我的应用程序有几个屏幕,都有几个文本框,复选框,组合框,而不是更多。应用程序将从多个COM对象检索数据,并通过标准TCP / IP套接字进行通信,这两个套接字都与UI无关。

用户界面没有任何想象力(我不需要它)。然而,世界似乎正在​​转向WPF。为我的案例选择WPF而不是WinForms有什么考虑?推荐的方法是什么?

由于

7 个答案:

答案 0 :(得分:5)

我没有使用Forms足以说明哪个更好,但我发现WPF很容易用于次要应用程序。 我认为,如果标准人员正在走向并且并不困难,那么开始使用它是一种很好的做法。

答案 1 :(得分:4)

  • WPF =未来+花哨的东西
  • WinForms = WYSIWYG伟大

选择您认为最具吸引力的上述内容:)

答案 2 :(得分:3)

这取决于。如果你对它感到满意,请坚持使用WinForms。

如果您希望能够通过更多自定义控件获得更好的外观,并且您愿意花时间学习XAML以及WPF和WinForms之间的差异,那么请继续使用。但是期待它需要一些时间,有一个学习曲线。

答案 3 :(得分:2)

有趣的是,所有答案都以开发人员为目标:熟悉框架,学习曲线,框架的技术特征等。

如果这是一个简单的应用程序,那么技术方面都不重要。你听起来像是有一些编程经验,在这种情况下,选择的框架并不重要。专注于您的用户。

您能保证您的用户安装了最新的.net运行时吗?如果他们不这样做,他们是否愿意/能够安装它? 您的用户会因“过时”的外观而被推迟吗?

你表达问题的方式,我认为你应该使用WinForms。您似乎暗示(“坚持使用winforms”)您在WinForms中有经验并且您对UI没有任何花哨的要求,所以我认为没有理由让自己处于WPF可能存在的陡峭学习曲线上。

答案 4 :(得分:1)

这是一种权衡。

从Windows Forms开始,您很可能会提高工作效率,因为编程范例更接近您可能熟悉的大多数其他UI开发库。还有许多可用于WinForms(包括ActiveX)的UI控件库,可以更轻松地创建有吸引力的功能UI。不幸的是,MS表示WinForms将来不会再有进展,因为他们的重点是WPF。

另一方面,WPF更加复杂和强大,可以帮助您创建非常有吸引力的丰富界面。 WPF有时需要使用更复杂的后端编程范例,如MVVM来创建有效的应用程序。此外,作为一种新技术,可用于帮助您开发WPF应用程序的成熟库和工具较少。对于开发工具,你有VS2008和Expression Blend(这是非常好的BTW)。渐变,色彩主题,蒙皮,控件自定义等高级图形功能在WPF中都更加强大。但是这种功能是有代价的 - 大多数开发人员发现WPF具有比WinForms更重要的学习曲线。

答案 5 :(得分:1)

我个人非常喜欢WPF提供的很多东西。它具有简单的数据绑定,验证和自定义UI功能。再加上昨天发布的新版Expression Blend 3.0,它们有Sketchflow WPF应用程序,您可以与他人共享并从中获取反馈文件。这对WPF世界来说是一个非常有趣的小补充。

好消息是,如果你找到一个Winform控件或需要WPF的东西而你选择了另一种方式,那么它们现在似乎相互配合。

答案 6 :(得分:1)

如果你已经习惯了WinForms,那么WPF是一个全新的东西,所以它需要很长时间才能适应它。但我更喜欢WPF而不是因为外观,对我而言,它更像是伟大的布局系统(一旦你习惯了它),它的数据绑定基础设施,再加上像MVVM这样的模式,UI和业务逻辑的分离。