I have been trying to solve the same problem lately and I founda similarsolution. In fact, you don't have to createyour control in a entirely new project.It is sufficient to change onlythe namespace of you custom control class.
The schema is as follows:
namespace MyProjectNamespace
{
public class Form1: System.Windows.Forms
{
//project code
}
}
(for convenience put this in a separate code file)
namespace CustomControlNamespace
{
public class CustomClassName
{
//all your classcode
}
[
TypeConverter(typeof(DerivedTypeConverter))]
public class CustomComplexPropertyClass
{
}
}
/*If the namespace of the custom control is "MyProjectNamespace" you will see a properly formated property valuein the Property Window only after the launch of th VS 2005 IDE. As soon as you Debug the project, the value will misteriously disappear and you would no be able to edit it. Even if you type in a correct string for conversion, it will throw an exception.
Surprisingly, if you are usingTypeConverter derived from ExpandableObjectConverter, you can expand the property and commit changes through the subproperties, but the parent property value will still be blank.
*/
Nevertheless, this solution is at least awkward and I hope, it will be fixed in the next versions.