Share via


Procedura: eseguire un'inizializzazione personalizzata per i controlli in modalità progettazione

È possibile utilizzare la finestra di progettazione personalizzata per inizializzare componenti e controlli quando vengono creati nell'ambiente di progettazione.

Esempio

Nell'esempio di codice riportato di seguito viene illustrata la procedura di inizializzazione di un controllo creato dall'ambiente di progettazione. La creazione viene effettuata quando si trascina un'istanza del controllo sul form, nonché quando si avvia la finestra di progettazione relativa al form. Per un'illustrazione completa dell'esempio di codice, vedere Procedura: estendere l'aspetto e il comportamento di controlli in modalità progettazione.

' 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 l'ambiente di progettazione crea un'istanza del controllo o del componente, chiama il metodo InitializeNewComponent della finestra di progettazione. Nell'esempio di codice precedente la proprietà BackColor del controllo viene impostata utilizzando una classe PropertyDescriptor.

Compilazione del codice

Quando si apportano modifiche agli aspetti relativi alla progettazione di un componente, è necessario ricompilare il progetto di controllo. Se inoltre è aperto un altro progetto Windows Form che utilizza questo componente, è probabile che sarà necessario aggiornare il progetto per visualizzare le modifiche. Di norma, è necessario chiudere e riaprire la finestra di progettazione contenente il componente.

Nota

È necessario aggiungere un riferimento all'assembly della fase di progettazione, System.Design.dll.Questo assembly non è incluso in .NET Framework 4 Client Profile.Per aggiungere un riferimento a System.Design.dll, è necessario modificare il framework di destinazione del progetto in .NET Framework 4.

Vedere anche

Attività

Procedura: estendere l'aspetto e il comportamento di controlli in modalità progettazione

Altre risorse

Finestre di progettazione personalizzate