5
votes

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 for 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.

3
Yes you can create first-class-citizen components in .Net. To know what it is like, you can experiment with one of the express versions of Visual Studio, Mono Develop, or SharpDevelop. - Apalala
What "cast pun" are you talking about? - Rob Kennedy
(long long) as a way to indicate that I've been Delphi programming a long, long time. - Robert Oschler

3 Answers

5
votes

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.

4
votes

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.