Architecture and patterns for developing a custom GUI designer via C# & WinForms [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this questionI only have a vague hint of spec so far, but I'm just testing the waters. I need to create a designer that will be used for creating CBT tasks and workflows. It must cater for custom objects (controls) as well as standard .NET WinForms controls.
I very lightly scanned some papers long ago on using the Visual Studio SDK and deployable design framework, but I can't remember anything meaningful.
- I need some resources on building designers in general, with drag and drop, resizing, connectors, and events.
- I need some resources on the capabilities of the Visual Studio SDK in regards to my first point.
- I would appreciate any recommendations regarding alternative (hopefully open source) technologies and patterns开发者_JAVA百科.
I would lurve to write this from scratch, but I can't do that at my client's expense, so I would much prefer to leverage existing artifacts as much as possible.
EDIT: When I first posted, I could not recall that one tool I had in mind was the Visual Studio Shell, which allows me to create a "VS clone", with VS features, but my own branding and DSL type projects.
I have implemented the VS designer in one of my applications, and I'll tell you now - there is not much documentation. Although I achieved a result I am happy with, documentation is slim. Here are some links:
Create And Host Custom Designers With The .NET Framework 2.0
System.ComponentModel.Design Namespace
DesignSurfaceManager Class
There's also the MSDN article called "Extending Design-Time Support".
The only book written on the subject seems to be "Developing .NET Custom Controls and Designers Using C#", which dates back to 2005.
I also find it odd that there's so little information on this subject. Is writing .NET designers unpopular for some reason? It took a while for my exploration of C# to get to the point where learning this subject made sense, and I wonder if I should make the effort.
精彩评论