Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }