/// <summary>
        /// Edits the value of the specified object using a drop-down list of values
        /// </summary>
        /// <param name="context">Type descriptor context</param>
        /// <param name="provider">Service provider</param>
        /// <param name="value">Value to edit</param>
        /// <returns></returns>
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            object editedValue;
            var    editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;

            if (editorService != null && value != null)
            {
                // Create a list box to place our items in
                var listBox = new EnumButtonGroupSelectedValueListBox(editorService, value);

                // Show the list box in a drop-down control
                editorService.DropDownControl(listBox);

                // Return edited value
                editedValue = listBox.SelectedItem;
            }
            else
            {
                editedValue = base.EditValue(context, provider, value);
            }

            return(editedValue);
        }
        /// <summary>
        /// Edits the value of the specified object using a drop-down list of values
        /// </summary>
        /// <param name="context">Type descriptor context</param>
        /// <param name="provider">Service provider</param>
        /// <param name="value">Value to edit</param>
        /// <returns></returns>
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            object editedValue;
            var editorService = provider.GetService(typeof (IWindowsFormsEditorService)) as IWindowsFormsEditorService;

            if (editorService != null && value != null)
            {
                // Create a list box to place our items in
                var listBox = new EnumButtonGroupSelectedValueListBox(editorService, value);

                // Show the list box in a drop-down control
                editorService.DropDownControl(listBox);

                // Return edited value
                editedValue = listBox.SelectedItem;
            }
            else
            {
                editedValue = base.EditValue(context, provider, value);
            }

            return (editedValue);
        }