コード例 #1
0
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            if (context.Instance is MpeTagCollection)
            {
                MpeTagCollection tags = (MpeTagCollection)context.Instance;
                MpeTag           tag  = tags[context.PropertyDescriptor.DisplayName];
                if (tag != null)
                {
                    IWindowsFormsEditorService editorService =
                        (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                    MpeTagEditorForm form = new MpeTagEditorForm(tag, editorService);
                    editorService.DropDownControl(form);
                    switch (form.Result)
                    {
                    case DialogResult.OK:
                        if (tag.Name == form.TagName && tag.Name != "-")
                        {
                            tag.Value = form.TagValue;
                            MpeLog.Info("Tag Updated! Name = " + tag.Name + " Value = " + tag.Value);
                        }
                        else if (tag.Name == form.TagName)
                        {
                            MpeLog.Warn("Invalid tag name specified");
                        }
                        else
                        {
                            tags.Remove(tag.Name);
                            tag.Name  = form.TagName;
                            tag.Value = form.TagValue;
                            tags.Add(tag);
                            MpeLog.Info("Tag Updated! Name = [" + tag.Name + "] Value = [" + tag.Value + "]");
                        }
                        break;

                    case DialogResult.Abort:
                        tags.Remove(tag.Name);
                        MpeLog.Info("Tag Removed! Name = [" + tag.Name + "[ Value = [" + tag.Value + "]");
                        break;
                    }
                    return(tag);
                }
            }
            return(base.EditValue(context, provider, value));
        }
コード例 #2
0
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
   if (context.Instance is MpeTagCollection)
   {
     MpeTagCollection tags = (MpeTagCollection) context.Instance;
     MpeTag tag = tags[context.PropertyDescriptor.DisplayName];
     if (tag != null)
     {
       IWindowsFormsEditorService editorService =
         (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService));
       MpeTagEditorForm form = new MpeTagEditorForm(tag, editorService);
       editorService.DropDownControl(form);
       switch (form.Result)
       {
         case DialogResult.OK:
           if (tag.Name == form.TagName && tag.Name != "-")
           {
             tag.Value = form.TagValue;
             MpeLog.Info("Tag Updated! Name = " + tag.Name + " Value = " + tag.Value);
           }
           else if (tag.Name == form.TagName)
           {
             MpeLog.Warn("Invalid tag name specified");
           }
           else
           {
             tags.Remove(tag.Name);
             tag.Name = form.TagName;
             tag.Value = form.TagValue;
             tags.Add(tag);
             MpeLog.Info("Tag Updated! Name = [" + tag.Name + "] Value = [" + tag.Value + "]");
           }
           break;
         case DialogResult.Abort:
           tags.Remove(tag.Name);
           MpeLog.Info("Tag Removed! Name = [" + tag.Name + "[ Value = [" + tag.Value + "]");
           break;
       }
       return tag;
     }
   }
   return base.EditValue(context, provider, value);
 }