Ejemplo n.º 1
0
        public ColorArrayForm(Color[] colors, string title, IColorArrayEditorCaller caller)
        {
            InitializeComponent();

            if (colors != null)
            {
                foreach (Color c in colors)
                {
                    ColorArrayItem it = new ColorArrayItem(c, this);
                    lsb.Items.Add(it);
                }
            }
            this.Text = title;

            if (caller != null)
            {
                lsb.BackColor = caller.BackColorForColorArrayEditor;
                lsb.ForeColor = caller.ForeColorForColorArrayEditor;

                foreach (Control con in this.Controls)
                {
                    if (con is Button)
                    {
                        con.Text = caller.GetButtonText(con.Text);
                    }
                }
            }

            btnRemove.Enabled = (lsb.SelectedItems.Count > 0 &&
                                 lsb.Items.Count > 0);
        }
Ejemplo n.º 2
0
        public override object EditValue(
            ITypeDescriptorContext context,
            IServiceProvider provider,
            object value)
        {
            IColorArrayEditorCaller caller = null;

            if (context.Instance is IColorArrayEditorCaller)
            {
                caller = (IColorArrayEditorCaller)context.Instance;
            }
            ColorArrayForm f = new ColorArrayForm((Color[])value, "",
                                                  caller);

            if (f.ShowDialog() == DialogResult.OK)
            {
                return(f.GetColorArray());
            }
            return(base.EditValue(context, provider, value));
        }