| | |
| | | using Bro.Common.Factory; |
| | | using Bro.Common.Interface; |
| | | using Bro.Common.Model; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections; |
| | |
| | | return base.EditValue(context, provider, value); |
| | | } |
| | | } |
| | | |
| | | public class IORefrenceItemCollectionEditor : CollectionEditor |
| | | { |
| | | protected override CollectionForm CreateCollectionForm() |
| | | { |
| | | var form = base.CreateCollectionForm(); |
| | | |
| | | var prop = form.GetType().GetField("propertyBrowser", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); |
| | | |
| | | if (prop != null) |
| | | { |
| | | if (prop.GetValue(form) is PropertyGrid grid) |
| | | { |
| | | grid.HelpVisible = true; |
| | | grid.ToolbarVisible = false; |
| | | } |
| | | } |
| | | |
| | | return form; |
| | | } |
| | | |
| | | //protected override object CreateInstance(Type itemType) |
| | | //{ |
| | | // return base.CreateInstance(itemType); |
| | | //} |
| | | |
| | | //protected override object[] GetItems(object editValue) |
| | | //{ |
| | | // return base.GetItems(editValue); |
| | | //} |
| | | |
| | | //protected override object SetItems(object editValue, object[] value) |
| | | //{ |
| | | // return base.SetItems(editValue, value); |
| | | //} |
| | | |
| | | public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) |
| | | { |
| | | return base.EditValue(context, provider, value); |
| | | } |
| | | |
| | | public IORefrenceItemCollectionEditor(Type type) : base(type) |
| | | { |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 限制一次选一个实例 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | protected override bool CanSelectMultipleInstances() |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 指定创建的对象类型 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | protected override Type CreateCollectionItemType() |
| | | { |
| | | return typeof(IORefrenceItem); |
| | | } |
| | | |
| | | protected override string GetDisplayText(object value) |
| | | { |
| | | if (value is IComplexDisplay) |
| | | { |
| | | return (value as IComplexDisplay).GetDisplayText(); |
| | | } |
| | | |
| | | return base.GetDisplayText(value); |
| | | } |
| | | |
| | | //protected override void DestroyInstance(object instance) |
| | | //{ |
| | | // base.DestroyInstance(instance);//重要!自动删除组件的设计时代码! |
| | | //} |
| | | } |
| | | #endregion |
| | | |
| | | } |