public override object EditValue( ITypeDescriptorContext context, System.IServiceProvider provider, object value) { if (value == null) { return((object)null); } RadGradientDialog radGradientDialog = new RadGradientDialog(); FillPrimitive fillPrimitive = (FillPrimitive)value; PropertyDescriptorCollection properties = TypeDescriptor.GetProperties((object)fillPrimitive); radGradientDialog.Fill.BackColor = (Color)properties.Find("BackColor", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.BackColor2 = (Color)properties.Find("BackColor2", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.BackColor3 = (Color)properties.Find("BackColor3", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.BackColor4 = (Color)properties.Find("BackColor4", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.GradientAngle = (float)properties.Find("GradientAngle", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.GradientPercentage = (float)properties.Find("GradientPercentage", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.GradientPercentage2 = (float)properties.Find("GradientPercentage2", true).GetValue((object)fillPrimitive); radGradientDialog.Fill.GradientStyle = (GradientStyles)properties.Find("GradientStyle", true).GetValue((object)fillPrimitive); if (radGradientDialog.ShowDialog() == DialogResult.OK) { properties.Find("BackColor", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.BackColor); properties.Find("BackColor2", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.BackColor2); properties.Find("BackColor3", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.BackColor3); properties.Find("BackColor4", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.BackColor4); properties.Find("GradientAngle", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.GradientAngle); properties.Find("GradientPercentage", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.GradientPercentage); properties.Find("GradientPercentage2", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.GradientPercentage2); properties.Find("GradientStyle", false).SetValue((object)fillPrimitive, (object)radGradientDialog.Fill.GradientStyle); } return(value); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (value == null) { return(null); } RadGradientDialog dialog = new RadGradientDialog(); FillPrimitive original = (FillPrimitive)value; PropertyDescriptorCollection originalProperties = TypeDescriptor.GetProperties(original); dialog.Fill.BackColor = (Color)originalProperties.Find("BackColor", true).GetValue(original); dialog.Fill.BackColor2 = (Color)originalProperties.Find("BackColor2", true).GetValue(original); dialog.Fill.BackColor3 = (Color)originalProperties.Find("BackColor3", true).GetValue(original); dialog.Fill.BackColor4 = (Color)originalProperties.Find("BackColor4", true).GetValue(original); dialog.Fill.GradientAngle = (float)originalProperties.Find("GradientAngle", true).GetValue(original); dialog.Fill.GradientPercentage = (float)originalProperties.Find("GradientPercentage", true).GetValue(original); dialog.Fill.GradientPercentage2 = (float)originalProperties.Find("GradientPercentage2", true).GetValue(original); dialog.Fill.GradientStyle = (GradientStyles)originalProperties.Find("GradientStyle", true).GetValue(original); if (dialog.ShowDialog() == DialogResult.OK) { originalProperties.Find("BackColor", false).SetValue(original, dialog.Fill.BackColor); originalProperties.Find("BackColor2", false).SetValue(original, dialog.Fill.BackColor2); originalProperties.Find("BackColor3", false).SetValue(original, dialog.Fill.BackColor3); originalProperties.Find("BackColor4", false).SetValue(original, dialog.Fill.BackColor4); originalProperties.Find("GradientAngle", false).SetValue(original, dialog.Fill.GradientAngle); originalProperties.Find("GradientPercentage", false).SetValue(original, dialog.Fill.GradientPercentage); originalProperties.Find("GradientPercentage2", false).SetValue(original, dialog.Fill.GradientPercentage2); originalProperties.Find("GradientStyle", false).SetValue(original, dialog.Fill.GradientStyle); } return(value); }