Description:
In Visual Studio 2005, the Developer Express controls appear as read-only on inherited forms. Is there a way to make them editable and use visual inheritance as in the previous versions of Visual Studio?
Answer:
We have found a way to enable visual inheritance in our controls. We have tested this solution in all the typical visual inheritance scenarios and haven't noticed any failures yet. But we cannot be completely sure that we have chosen the correct approach and thus we don't enable visual inheritance by default. What causes this doubt is that Microsoft disabled visual inheritance for its controls.
There is a DXDesignKeys tool shipped with the DXperience suite. It adds a new key to the registry and is capable of changing its state. When this key is present and enabled, Developer Express controls allow visual inheritance. If it is not present or disabled, visual inheritance is prohibited just as with standard controls (this is the default behavior). To launch the program, find it here: "C:\Program Files\DevExpress X.Y\Components\Tools\Components\DXDesignKeys.exe" , where X and Y correspond to your DXperience version. Make sure to close Visual Studio prior to using the DXDesignKeys tool.
You can also invoke this tool by using the DexExpress menu in Visual Studio as shown in the attached screenshot:
Important:
There is a limitation in the Visual Inheritance mechanism: item collections must not be modified on inherited Forms/UserControls. Other serialization issues are also possible.
We recommend that you modify collections (for example, tab pages, bar items, grid columns) and other properties at runtime to avoid possible problems. Please refer to the following article for additional information:
Visual inheritance support for complex controls
See Also:
The use of XPO and server mode data source components on visually inherited controls
Can I use the grid on an inherited form or user control?
Troubleshooting design-time problems
What is the best way to set the same Look-and-Feel style of the entire application with DXperience for Windows Forms?
Does this work also with visual studio 2012?
I have a base form with an empty TabControl on it, and in the inherited form I'm trying to place in the tabpages some controls, but it doesn't permit it.
This is a limitation of the Visual Inheritance mechanism: item collections should not be modified on inherited forms/UserControls.
We recommend that you modify collection properties (i.e. tab pages) at runtime to exclude possible problems. Please refer to the following article for additional information:
Visual inheritance support for complex controls
Could this be updated for version 14.x.x, Visual Studio 2012 and Windows 8.1?
Hello Louis,
I see you created the Enabling Visual Inheritance for Developer Express Controls ticket regarding this issue. We will answer you there.
For Visual Studio 2019, the Devexpress menu is hidden under Extensions.