63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.ComponentModel.Design;
|
|
using System.ComponentModel;
|
|
using System.Reflection;
|
|
using System.Collections;
|
|
|
|
namespace DevComponents.DotNetBar.Design
|
|
{
|
|
public class MetroTileFrameDesigner : ComponentDesigner
|
|
{
|
|
private static bool SetGenerateMemberProperty(
|
|
IExtenderListService service,
|
|
IComponent component,
|
|
bool value)
|
|
{
|
|
IExtenderProvider provider = null;
|
|
IExtenderProvider[] providers = service.GetExtenderProviders();
|
|
foreach (IExtenderProvider item in providers)
|
|
{
|
|
if (item.GetType().FullName ==
|
|
"System.ComponentModel.Design.Serialization.CodeDomDesignerLoader+ModifiersExtenderProvider")
|
|
{
|
|
provider = item;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (provider == null) return false;
|
|
|
|
MethodInfo methodInfo =
|
|
provider.GetType().GetMethod(
|
|
"SetGenerateMember", BindingFlags.Public |
|
|
BindingFlags.Instance);
|
|
|
|
if (methodInfo != null)
|
|
{
|
|
methodInfo.Invoke(
|
|
provider, new object[]
|
|
{
|
|
component,
|
|
value
|
|
});
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public override void InitializeNewComponent(IDictionary defaultValues)
|
|
{
|
|
// no reason to create a member since container has no use aside from logical grouping at design time
|
|
SetGenerateMemberProperty(
|
|
(IExtenderListService)GetService(typeof(IExtenderListService)),
|
|
this.Component,
|
|
false);
|
|
|
|
base.InitializeNewComponent(defaultValues);
|
|
}
|
|
}
|
|
}
|