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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |