All pastes #507078 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-24 11:27 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing.Design;
using System.Windows.Forms.Design;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;

namespace WP_task8
{
    class MyEditor : UITypeEditor
    {
        private IWindowsFormsEditorService edSvc = null;
        
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (context != null && context.Instance != null && provider != null)
            {
                edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                if (edSvc != null)
                {
                    PolygonControl orgControl = (PolygonControl)context.Instance;
                    PolygonControl propertiesControl = new PolygonControl();
                                        
                    propertiesControl.Width = orgControl.Width;
                    propertiesControl.Height = orgControl.Height;
                    propertiesControl.Points = new Point[4];
                    propertiesControl.Colors = new Color[4];

                    Array.Copy(orgControl.Points, propertiesControl.Points, 4);
                    Array.Copy(orgControl.Colors, propertiesControl.Colors, 4);
                    
                    edSvc.DropDownControl(propertiesControl);
                    return propertiesControl.Points;
                }
            }
            return value;
        }

        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
        {
            return UITypeEditorEditStyle.DropDown;
        }
    }
}