.NET是否与Delphi的VCL组件模型等效?

Rob*_*ler 5 .net migration delphi components vcl

原谅"铸双关语",但我是一个(很久很久)德尔福开发者.我现在留在版本6永恒,因为它是我开发所需的一切.但是,最近我一直在考虑进入.NET,因为这似乎是Win32/64 EXE开发的主要方向.我最关心的是在.NET中使用某些东西,它与Delphi中的VCL组件模型相同.

让我以这种方式解释我最大的担忧.在Delphi中,我可以创建一个自定义组件,一旦完成,将成为Delphi组件面板("widget"面板)的完全成员,我可以在设计时拖放到窗体上,并使用IDE的属性检查员/编辑器填写与组件相关的属性,甚至更好,为各种程序员定义的事件处理程序填写代码存根(后者就像VB和许多其他IDE,我知道.)但最重要的是,我可以创建组件的行为作为其他组件的容器.在设计时,我可以添加与父类型不同的子组件,并使用与顶级组件相同的属性编辑器范例方便地为子实例填充属性和事件处理程序.我开始喜欢这个功能,我想知道.NET在设计时管理/编辑包含其他组件的组件是否同样容易.

Ada*_*son 5

假设我正确理解了您的请求,那肯定是.NET/Visual Studio功能集的一部分.

使用WinForms(最常用于桌面应用程序开发的项目类型,虽然WPF正在取得进展),您可以创建组件,然后可以将其作为子组件添加到可视控件(或窗口,称为窗体)或其他组件.


Ree*_*sey 4

Windows 窗体基本上类似于 .NET 的 VCL。它以非常相似的风格(尽管框架不同)提供了与您习惯使用 VCL 相同的大部分基于组件的行为。

话虽这么说,如果您要跳槽,您可能需要考虑考虑 WPF 和 Silverlight。它们为应用程序开发提供了一个更好的(一旦你克服了学习的困难)模型。这实际上是 .NET 的首选开发模型(尽管 Windows 窗体仍然相当流行),因为它提供了许多好处。

  • 的确。作为一个拒绝使用 MFC 的长期 BCB 用户,我最初对 WinForms 与 VCL 的相似程度感到震惊。但这是有[充分理由的](http://en.wikipedia.org/wiki/Anders_Hejlsberg)。 (4认同)
  • 你确定吗?据我所知,WPF 和 Silverlight 对于桌面开发来说基本上已经死亡,并且只真正专注于 Windows Phone 7 平台的开发,而 Windows Phone 7 平台也基本上已经死亡。 (2认同)
  • @Mason:不知道你从哪里听说的,但这完全是错误的。 (2认同)