private static bool ResolveDesignMode(System.Windows.Forms.Control control)
{
System.Reflection.PropertyInfo designModeProperty;
bool designMode;
// Get the protected property
designModeProperty = control.GetType().GetProperty(
"DesignMode",
System.Reflection.BindingFlags.Instance
| System.Reflection.BindingFlags.NonPublic);
// Get the controls DesignMode value
designMode = (bool)designModeProperty.GetValue(control, null);
// Test the parent if it exists
if (control.Parent != null)
{
designMode |= ResolveDesignMode(control.Parent);
}
return designMode;
}