/// <summary> /// /// </summary> /// <param name="component"></param> public override void ResetValue(object component) { object value = DefaultValue; if (SetDataStrategy != null) { value = SetDataStrategy.AdjustResettedValue(value); } SetValue(component, value); // Do other stuff which might be required when reseting a value RuntimeHostSurface surface = (RuntimeHostSurface)((Component)component).Site.GetService(typeof(DesignSurface)); surface.HandleControlValueReset(component as Control, Name); }
/// <summary> /// /// </summary> /// <param name="component"></param> /// <param name="value"></param> public override void SetValue(object component, object value) { PropertyDescriptorCollection originalPropDescriptors = TypeDescriptor.GetProvider(component).GetTypeDescriptor(component).GetProperties(); ControlDesignerInfo controlDesignerInfo = ((ControlDesignerInfo)((Control)component).Tag); if (SetDataStrategy != null) { SetDataStrategy.SetData(originalPropertyDescriptor.GetValue(component), ref value); } if (translator != null) { value = translator.AdjustSetValue(value); } originalPropertyDescriptor.SetValue(component, value); }