I develop in VS 2005 with CF 2.0 and use form inheritance to put common functionality in a base form used by a number of derived forms used for editing of various things. In the base form I have a TabControl component. I would like to have an InputPanel component in the base form and respond to EnableChanged events so that the TabControl is resized based on the visibility of the SIP. When I add the InputPanel component to the base form the derived forms can no longer be designed because the IDE designer doesn't allow the use of device specific components or P/Invoke ("Visual inheritance is currently disabled because..."). After a long session yesterday..., I now understand why this is so but I have a hard time accepting that I cannot add components etc to my derived forms after adding the InputPanel component. After all, handling of the SIP is not an uncommon task in an application.
The strange thing is that the exact same IDE-behaviour happens if I place the InputPanel component in a derived class. In other words, I cannot fix the problem by duplicating the InputPanel code in each derived form. If I place an InputPanel component in one derived form, *every* derived form gets the "Visual inheritance is currently disabled because..." message.
I have read about the DesignTimeVisible(true) and the DesktopCompatible(true) attributes but I don't know how to use them in this case. I tried to add the attributes to the InputPanel component in the class diagram but the Custom attributes property is disabled for components. Can I use some kind of design time directive(#if DESIGN ) to prevent the IDE designer to use the InputPanel component
Also, are there any reliable why to *keep* the SIP button hidden I have tried with the code below but the icon/button keeps reappearing after various events such as activation of the form. The only solution I have for the moment is to use a timer that repeatedly hides the SIP button. Not an elegant solution to say the least...
SetForegroundWindow((uint) aHandle);
SHFullScreen((uint) aHandle, SHFS_HIDESIPBUTTON);
As soon as I add the P/Invoke code for SetForegroundWindow() etc (and this is in a separate source file, not directly related to the forms) I get the "Visual inheritance is currently disabled because..." message.
Thanks for any help
Lars

Form inheritance and the inputpanel control (SIP)
Ramesh Singh
Lars