Developers today have great tools, highly optimized for writing good quality code. Microsoft Visual Studio is packed with hot-keys, tools and tool windows that help the developer with programming. Tools like IntelliSense, Find All References, Go To Definition, Call Hierarchy, Find Symbol, Refactor, Smart tags, etc. are irreplaceable in everyday programming tasks. So why the process of designing a new form or a user-control does not have this kind of tools? The process of creating a new form consists mostly of finding the right controls and setting the properties. Why Visual Studio doesn’t aid developers in this basic task? RapidDesign is a Microsoft Visual Studio add-in that fills this gap. It transforms Visual Studio from a great programming environment to a great programming and designing environment.
Finding and Laying Controls
Microsoft Visual Studio has a window called the Toolbox, where a developer can find all the controls that he or she can place on the form. The toolbox is divided into tabs, each containing a common set of controls.
The number of controls in the toolbox is typically around 100 so it can take quite a long time to find the control a developer needs. RapidDesign introduces the Quick-Access Toolbox – a variation of the toolbox window, opened like a context menu right above the design surface.
The Quick-Access Toolbox window is opened by pressing and holding the middle mouse button. Once opened, the user moves the mouse to select the control he needs. By releasing the middle mouse button, the highlighted control is being selected and is ready to be placed on the form or user-control. If the users mouse does not have a middle button, he can still open the Quick-Access Toolbox by pressing Alt+`.
The controls in the Quick-Access Toolbox can be grouped, and different groups can be viewed by pressing the appropriate modifier key (e.g. Shift, Control, Tab, Space).
The controls can be presented either in the form of a circle, or in the form of the grid. RapidDesign automatically changes the form of the Quick-Access Toolbox based on the number of controls to show.
The Quick-Access Toolbox is highly configurable and the user can choose what controls to show in each group. He can also create new groups.
Setting the Property Values
Once the controls have been set, the developer needs to configure how they behave. It is done by setting the properties of the Property window. Each control has different number of properties and their number is usually about 50 or more.
The developer has to browse through the properties to find the ones that he or she needs to change. Another problem is the need to constantly move the hand from the mouse to the keyboard. This is because the properties have to be found by using the mouse (scrolling with the scroll bar), and their value is often set by using the keyboard (setting the name, text, size, etc.).
RapidDesign introduces the Property grid search window. It allows the user to quickly find the properties that he needs.
The property grid search allows the user to find properties by a simple name matching, or by using the Pascal case notation, for example, by typing FC, the property
ForeColor could be found.
The property grid search also allows searching for events and quickly attaching event handlers.
If the user is comfortable with the keyboard, he doesn’t have to use the mouse at all – all the property / event setting can be done with the keyboard. The property grid search window has been highly optimized for keyboard-only scenarios. It is being opened by pressing Alt + Space and it gets the keyboard focus so the user can immediately type the property / event name. It can be closed by pressing the Enter or Escape key, and when it closes, the properties window receives focus so the user can instantly type the property value. If the property has a custom designer – like the
Dock properties, it can be opened by pressing F4 (it’s a standard Windows hot-key for opening combo boxes) and can still be set with the keyboard.
RapidDesign takes an innovative approach to designing a form or user control. It tries to maximize the usability of the user’s mouse and keyboard, and minimize the time that the user spends on mindless browsing and searching.
You can see a short video of RapidDesign here.
- 16th October, 2011: Initial version