Como: Implementar um provedor do extensor
Provedores de extensor podem adicionar propriedades aos controles.Os controles ActiveX usados também o conceito de provedores de extensor, mas obrigatórias suporte especial da linguagem de programação.No .NET estrutura, provedores de extensor não requerem nenhum suporte especial.No código-fonte, uma propriedade de provedor do extensor existe no objeto do provedor do extensor.Definir o valor da propriedade em outro objeto exige duas informações: o objeto para conjunto o valor e o novo valor da propriedade.Por exemplo, o Windows Forms possui um ToolTip componente que oferece uma propriedade do extensor para outros controles. A propriedade define sobre outros objetos é uma seqüência de caracteres que representa o Dica de ferramenta que aparece quando o ponteiro passa sobre o controle.O exemplo de código a seguir mostra como conjunto o ToolTip propriedade.
tooltip1.SetToolTip(button1, "The tooltip text")
tooltip1.SetToolTip(button1, "The tooltip text");
Em time de design, propriedades de extensão são exibidas no navegador da propriedade sistema autônomo propriedades em objetos que eles estendem, em vez do objeto extensor real.No exemplo anterior, a ToolTip propriedade aparece em button1, não em tooltip1.
Para implementar um provedor de extensor
Definir um componente que implementa o IExtenderProvider interface.
Public Class MyExtender Implements IExtenderProvider ... End Class
public class MyExtender : IExtenderProvider {...}
A definição de IExtenderProvider é o seguinte:
Public Interface IExtenderProvider Function CanExtend(ByVal extendee As Object) As Boolean End Interface
public interface IExtenderProvider { bool CanExtend(object extendee); }
Implementar o CanExtend método para que ele retorna true para cada componente ou controle que o extensor fornece propriedades para.
Defina um conjunto de propriedades do extensor pode fornecer a outros componentes.As propriedades são realmente métodos porque eles recebem um parâmetro extra que especifica o componente para aplicar a propriedade.
Uma classe de provedor do extensor deve ser marcada com um ProvidePropertyAttribute. O construtor de ProvidePropertyAttribute leva dois argumentos: primeiro, uma seqüência de caracteres especificando o nome da propriedade para adicionar e, segundo, o tipo de objeto para fornecer a propriedade.
<ProvideProperty("HelpText", GetType(IComponent))> _
Public Class MyExtender
Implements IExtenderProvider
...
End Class
[ProvideProperty("HelpText", typeof(IComponent))]
class MyExtender : IExtenderProvider {...}
Embora um provedor de extensor pode fornecer propriedades para qualquer componente, a implementação normalmente inclui recursos que tornam utilizáveis somente com uma categoria específica de componentes.
Para obter um exemplo completo, consulte Como: Implementar um provedor de Extender HelpLabel.
Consulte também
Tarefas
Como: Implementar um provedor de Extender HelpLabel