Como: Executar a inicialização personalizada para controles no modo de Design
Você pode usar o seu designer personalizado para inicializar os 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ê iniciar o designer do formulário. Para obter uma explicação completa deste exemplo de código, consulte Como: Estender a aparência e o comportamento dos controles no 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 seu designer InitializeNewComponent método. Do exemplo de código anterior, o controle BackColor propriedade é definida usando um PropertyDescriptor.
Compilando o código
Quando você faz alterações aos aspectos de um componente de tempo de design, você precisará reconstruir o projeto de controle. Além disso, se houver outro projeto Windows Forms que está 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.
Observação |
---|
Você deve adicionar uma referência ao assembly de tempo de design, System.Design.dll. Este assembly não está incluído na.NET Framework 4 o perfil do cliente. Para adicionar uma referência a System.Design.dll, você deve alterar a estrutura do projeto de destino para .NET Framework 4. |
Consulte também
Tarefas
Como: Estender a aparência e o comportamento dos controles no modo de Design