public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            var editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

            if (editorService != null)
            {
                var control = new FarsiCalendar
                {
                    Width = 280, Height = 158,
                    Value =
                    {
                        FarsiSelectedDate = (string)value,
                        Mode  = ControlType.MonthCalendar,
                        Theme = CalendarTheme.WhiteSmoke
                    },
                };
                control.Value.DateChanged += (arg1, arg2) => editorService.CloseDropDown();
                editorService.DropDownControl(control);
                return(control.Value.FarsiSelectedDate);
            }
            return(base.EditValue(context, provider, RuntimeHelpers.GetObjectValue(value)));
        }
 public FarsiCalendarActionList(IComponent component) : base(component)
 {
     _farsiCalendar = (FarsiCalendar)component;
     //_actionUiService = (DesignerActionUIService)GetService(typeof(DesignerActionUIService));
 }