mwinsor:
C1_GregL:
When inheriting C1Command, ALL c1command related members (C1CommandHolder, C1CommandLink, C1CommandMenu and C1Command, etc) must be declared public in the base control. This can be done by setting the modifiers properties to public for each C1Command control.
Regards
Greg
I did this and so far so good. The latest and greatest version that I could get (2.0.20081.19402) seems to be behaving itself. The only downside to this is that all my controls now show up in my Misc. category of my property pane :) This isn't a big deal really, I'd rather that than the errors I was getting before.
So after further experimentation, I got the dreaded System.ComponentModel.Component not marked as Serializable error again. Here's the scenario:
1. I have a user control with a C1 toolbar and the command holder.
2. I inherit this user control to create a new user control, the C1 toolbar is marked as public as is the command holder.
3. I create a form from a base form that has a C1 toolbar.
4. I plant a new instance of the control (step 2) on the detail form (step 3) and I get the error.
With the form that inherits the base form with the C1 toolbar in step 2, it's fine, the inheritance works beautifully. For all direct inheritance to other controls and forms, it's fine as well. But if I plant a control that's inheriting C1 controls, it breaks.
With the 200603 version this was not an issue, everything worked as I expected (there were minor issues with inheritance and collections, but nothing fatal). I'd hate to have to roll back to that version.
This is a do or die thing for my company, we need this level of functionality for our applications. Is there any suggested workaround? I require that this be workable from the designer as we have complicated design time functionality built into the control that would be a hassle to create code for, especially with large numbers of these forms and controls.