Compartilhar via


Como: Executar inicialização personalizados para controles no modo Design

Você pode usar seu designer personalizado ao inicializar componentes e controles conforme eles são criados pelo ambiente de design.

Exemplo

O exemplo de código a seguir demonstra como inicializar um controle quando ele é criado pelo ambiente de design.Esta criação ocorre quando você arrasta uma instância do controle para o formulário e ele também ocorre quando você inicia o designer para seu formulário.Para obter uma explicação completa deste exemplo de código, consulte Como: Estender a aparência e comportamento de controles em modo de design.

' This demonstrates changing the appearance of a control while
' it is being designed. In this case, the BackColor property is
' set to LightBlue. 
Public Overrides Sub InitializeNewComponent( _
ByVal defaultValues As IDictionary)

    MyBase.InitializeNewComponent(defaultValues)

    Dim colorPropDesc As PropertyDescriptor = _
    TypeDescriptor.GetProperties(Component)("BackColor")

    If colorPropDesc IsNot Nothing AndAlso _
       colorPropDesc.PropertyType Is GetType(Color) AndAlso _
       Not colorPropDesc.IsReadOnly AndAlso _
       colorPropDesc.IsBrowsable Then
        colorPropDesc.SetValue(Component, Color.LightBlue)
    End If
End Sub
// This demonstrates changing the appearance of a control while
// it is being designed. In this case, the BackColor property is
// set to LightBlue. 

public override void InitializeNewComponent(IDictionary defaultValues)
{
    base.InitializeNewComponent(defaultValues);

    PropertyDescriptor colorPropDesc = 
        TypeDescriptor.GetProperties(Component)["BackColor"];

    if (colorPropDesc != null &&
        colorPropDesc.PropertyType == typeof(Color) &&
        !colorPropDesc.IsReadOnly &&
        colorPropDesc.IsBrowsable)
    {
        colorPropDesc.SetValue(Component, Color.LightBlue);
    }
}

Quando o ambiente de design cria uma instância do controle ou componente, ele chama InitializeNewComponent método. No exemplo de código anterior, BackColor propriedade é definida por meio de um PropertyDescriptor.

Compilando o código

Quando você faz alterações aos aspectos de um componente de time de design, você precisará recompilar o projeto de controle.Além disso, se houver outro projeto Windows Forms que está em aberto e usa esse componente, você provavelmente precisará atualizar o projeto para ver as alterações.Normalmente, você precisará fechar e reabrir a janela de design que contém o componente.

Consulte também

Tarefas

Como: Estender a aparência e comportamento de controles em modo de design

Outros recursos

Designers personalizados