本文整理汇总了C#中System.ComponentModel.Design.IExtenderProviderService接口的典型用法代码示例。如果您正苦于以下问题:C# IExtenderProviderService接口的具体用法?C# IExtenderProviderService怎么用?C# IExtenderProviderService使用的例子?那么恭喜您, 这里精选的接口代码示例或许可以为您提供帮助。
IExtenderProviderService接口属于System.ComponentModel.Design命名空间,在下文中一共展示了IExtenderProviderService接口的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExtenderServiceDesigner
//引入命名空间
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace ExtenderServiceExample
{
// This designer adds a ComponentExtender extender provider,
// and removes it when the designer is destroyed.
public class ExtenderServiceDesigner : System.Windows.Forms.Design.ControlDesigner
{
// A local reference to an obtained IExtenderProviderService.
private IExtenderProviderService localExtenderServiceReference;
// An IExtenderProvider that this designer supplies.
private ComponentExtender extender;
public ExtenderServiceDesigner()
{
}
public override void Initialize(System.ComponentModel.IComponent component)
{
base.Initialize(component);
// Attempts to obtain an IExtenderProviderService.
IExtenderProviderService extenderService = (IExtenderProviderService)component.Site.GetService(typeof(IExtenderProviderService));
if( extenderService != null )
{
// If the service was obtained, adds a ComponentExtender
// that adds an "ExtenderIndex" integer property to the
// designer's component.
extender = new ComponentExtender();
extenderService.AddExtenderProvider( extender );
localExtenderServiceReference = extenderService;
}
else
{
MessageBox.Show("Could not obtain an IExtenderProviderService.");
}
}
protected override void Dispose(bool disposing)
{
// Removes any previously added extender provider.
if( localExtenderServiceReference != null )
{
localExtenderServiceReference.RemoveExtenderProvider( extender );
localExtenderServiceReference = null;
}
}
}
// IExtenderProviderImplementation that adds an integer property
// named "ExtenderIndex" to any design-mode document object.
[ProvidePropertyAttribute("ExtenderIndex", typeof(IComponent))]
public class ComponentExtender : System.ComponentModel.IExtenderProvider
{
// Stores the value of the property to extend a component with.
public int index = 0;
public ComponentExtender()
{
}
public bool CanExtend(object extendee)
{
// Extends any type of object.
return true;
}
public int GetExtenderIndex(IComponent component)
{
return index;
}
public void SetExtenderIndex(IComponent component, int index)
{
this.index = index;
}
}
// Example UserControl associated with the ExtenderServiceDesigner.
[DesignerAttribute(typeof(ExtenderServiceDesigner))]
public class ExtenderServiceTestControl : System.Windows.Forms.UserControl
{
public ExtenderServiceTestControl()
{
}
}
}