Does .NET have an equivalent to Delphi's VCL component model?
Pardon the "cast pun" but I am a (long long) time Delphi developer. I have stayed at version 6 for an eternity now because it was everything I needed for development. However, lately I've been thinking of getting into .NET because that seems to be the dominant direction for Win32/64 EXE development. My biggest concern is having something in .NET that serves as an equivalent to the VCL component model in Delphi.
Let me explain my biggest concern this way. In Delphi, I can create a custom component that once completed, will become a full fledged member of the Delphi component palette ("widget" panel), that I can drag and drop on to a form at design time, and use the IDE's property inspector/editor to fill in properties pertinent to the component and even better, fill out code stubs for various programmer defined event handlers (the latter is like VB and many other IDE's, I know.) But most importantly, I can create component's that act as containers fo开发者_如何学JAVAr other components. At design time, I can add child components of a different type than the parent and conveniently fill out the properties and event handlers for the child instances using the same property editor paradigm as for top level components. I have come to adore this capability and I would like to know if .NET has something equally facile at managing/editing components that contain other components at design time.
Assuming I understand your request correctly, that's certainly a part of the .NET / Visual Studio feature set.
Using WinForms (the project type most commonly used for desktop application development, though WPF is gaining ground), you can create components that can then be added as child components either to visual controls (or windows, called Forms) or to other components.
Windows Forms is basically like VCL for .NET. It provides most of the same component-based behavior that you are used to with VCL, in a very similar style (though a different framework).
That being said, if you're going to jump ship, you may want to consider looking at WPF and Silverlight. They provide a much nicer (once you get over the hump of learning it) model for application development. This is really the preferred development model going forward with .NET (though Windows Forms is still quite popular), as it provides many benefits.
You can try Delphi Prism. It generates .NET executables. http://www.embarcadero.com/products/delphi-prism and http://en.wikipedia.org/wiki/Delphi_Prism
精彩评论