Condividi tramite


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

Aggiornamento: novembre 2007

È 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 di progettazione di un componente, è necessario rigenerare il progetto di controllo. Inoltre, se esiste un altro progetto Windows Form aperto che utilizza questo componente, probabilmente sarà necessario l'aggiornamento del progetto per visualizzare le modifiche. Di norma, è necessario chiudere e riaprire la finestra di progettazione contenente il componente.

Vedere anche

Attività

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

Altre risorse

Finestre di progettazione personalizzate