Follow DesignboxVS on Twitter


What is a Design?

A Design is a .Net object that represents the named state of a component. You can think of a Design as a definition that can contain property/value information that can be applied to specific target types.  Any type of instance information can be captured, such as collections and their items, or references to other components.  You are not limited to simple property values or appearance properties.

Which Windows client technologies are supported by Designbox?

Designbox currently works with Windows Forms controls and components. In general, you can create and apply designs for any .Net object that inherits from the System.Windows.Forms.Control type. This includes third-party control libraries

Is there support for WPF?

No, not at this time.  We hope to support WPF in a future release of Visual Studio.

Doesn't Visual Studio already allow you to drag and drop controls from the design surface back to the standard Toolbox?

No, some simple objects like strings, code snippets, and resources can be added to the Toolbox, but not controls.  The reason for this is that the Toolbox needs to serialize all the items it contains.  And Windows Forms controls only support code serialization.  The Toolbox does not support code serialization.

How does Designbox handle persisting of control designs?

Designbox uses a unique Xml serialization capability developed for Windows Forms controls.  This means that Designbox can serialize controls as Xml and then de-serialize the Xml back to a control.  So control and component designs can be easily saved, shared, and cataloged, even to a database.

But couldn't you just create new classes for each of your designs that you wanted to reuse in the Toolbox?

This is probably the most important aspect of using Designbox. If you find yourself creating new classes solely for the purpose of sharing and reusing control appearance and content, then you are most likely running into class explosion issues and inheritance complications. Designbox gives you a unique way to share and reuse content in Visual Studio that you never had before. One that does not impact your programming model.

How are Designs different from Templates?

Templates are very powerful tools create creating initial content in Visual Studio. However, they are typically written in a specific language and can only be used to create an initial object. Designs, however, are declarative in nature, can be easily redefined using a Design Editor, and they can be applied to existing components.