public static object EditValue(ComponentDesigner designer, object objectToChange, string propName)
        {
            // Get PropertyDescriptor
            PropertyDescriptor descriptor = TypeDescriptor.GetProperties(objectToChange)[propName];
            // Create a Context
            EditorServiceContext context = new EditorServiceContext(designer, descriptor);
            // Get Editor
            UITypeEditor editor = descriptor.GetEditor(typeof(UITypeEditor)) as UITypeEditor;
            // Get value to edit
            object value = descriptor.GetValue(objectToChange);
            // Edit value
            object newValue = editor.EditValue(context, context, value);

            if (newValue != value)
            {
                try
                {
                    descriptor.SetValue(objectToChange, newValue);
                }
                catch (CheckoutException)
                {
                }
            }
            return(newValue);
        }
 public static object EditValue(ComponentDesigner designer, object objectToChange, string propName)
 {
     PropertyDescriptor prop = TypeDescriptor.GetProperties(objectToChange)[propName];
     EditorServiceContext context = new EditorServiceContext(designer, prop);
     UITypeEditor editor = prop.GetEditor(typeof(UITypeEditor)) as UITypeEditor;
     object obj2 = prop.GetValue(objectToChange);
     object obj3 = editor.EditValue(context, context, obj2);
     if (obj3 != obj2)
     {
         try
         {
             prop.SetValue(objectToChange, obj3);
         }
         catch (CheckoutException)
         {
         }
     }
     return obj3;
 }
        private void OnImageToolStripMenuItemClick(object sender, EventArgs e)
        {
            IDesignerHost service = (IDesignerHost)this.serviceProvider.GetService(typeof(IDesignerHost));

            if (service != null)
            {
                ToolStripItemDesigner designer = service.GetDesigner(this.currentItem) as ToolStripItemDesigner;
                if (designer != null)
                {
                    try
                    {
                        EditorServiceContext.EditValue(designer, this.currentItem, "Image");
                    }
                    catch (InvalidOperationException exception)
                    {
                        ((IUIService)this.serviceProvider.GetService(typeof(IUIService))).ShowError(exception.Message);
                    }
                }
            }
        }
Exemple #4
0
        public static object EditValue(ComponentDesigner designer, object objectToChange, string propName)
        {
            PropertyDescriptor   prop    = TypeDescriptor.GetProperties(objectToChange)[propName];
            EditorServiceContext context = new EditorServiceContext(designer, prop);
            UITypeEditor         editor  = prop.GetEditor(typeof(UITypeEditor)) as UITypeEditor;
            object obj2 = prop.GetValue(objectToChange);
            object obj3 = editor.EditValue(context, context, obj2);

            if (obj3 != obj2)
            {
                try
                {
                    prop.SetValue(objectToChange, obj3);
                }
                catch (CheckoutException)
                {
                }
            }
            return(obj3);
        }
 public void ChooseIcon()
 {
     EditorServiceContext.EditValue(this._designer, base.Component, "Icon");
 }
Exemple #6
0
 public void InvokeItemsDialog()
 {
     EditorServiceContext.EditValue(this._designer, base.Component, "Items");
 }
Exemple #7
0
 public void EditLines()
 {
     EditorServiceContext.EditValue(_designer, Component, "Lines");
 }
 public void EditLines()
 {
     EditorServiceContext.EditValue(this._designer, base.Component, "Lines");
 }
 public void ChooseImage()
 {
     EditorServiceContext.EditValue(_designer, Component, "Image");
 }
 public void InvokeGroupsDialog()
 {
     EditorServiceContext.EditValue(_designer, Component, "Groups");
 }
 public void InvokeColumnsDialog()
 {
     EditorServiceContext.EditValue(_designer, Component, "Columns");
 }