Condividi tramite


Come agganciare e ancorare i controlli

Se si sta progettando un modulo che l'utente può ridimensionare in fase di esecuzione, i controlli nel modulo devono essere ridimensionati e riposizionabili correttamente. I controlli hanno due proprietà che consentono il posizionamento e il ridimensionamento automatico quando il modulo cambia dimensione.

  • Control.Dock

    I controlli ancorati riempiono i bordi del contenitore del controllo, sia esso un form o un controllo contenitore. Il controllo TreeView di Esplora risorse, ad esempio, viene ancorato al lato sinistro della finestra e il controllo ListView al lato destro della finestra. La modalità di ancoraggio può essere impostata su qualsiasi lato del contenitore del controllo o per riempire lo spazio rimanente del contenitore.

    Una finestra che illustra le diverse modalità di ancoraggio per un controllo

    I controlli sono ancorati in ordine z inverso e la proprietà Dock interagisce con la proprietà AutoSize. Per altre informazioni, vedere Ridimensionamento Automatico.

  • Control.Anchor

    Quando viene ridimensionato il modulo di un controllo ancorato, il controllo mantiene la distanza tra il controllo e gli ancoraggi. Se, ad esempio, si dispone di un controllo TextBox ancorato ai bordi sinistro, destro e inferiore del form, quando il form viene ridimensionato, il controllo TextBox si ridimensiona orizzontalmente in modo da mantenere la stessa distanza dai lati destro e sinistro del form. Il controllo si posiziona verticalmente in modo che la sua posizione sia sempre alla stessa distanza dal margine inferiore del modulo. Se un controllo non è ancorato e la maschera viene ridimensionata, la posizione del controllo rispetto ai bordi della maschera viene modificata.

    Un Windows Form che illustra le diverse modalità di ancoraggio per un controllo

Per altre informazioni, vedere Posizione e layout dei controlli.

Ancorare un controllo

Un controllo viene ancorato impostando la relativa proprietà Dock.

Annotazioni

I controlli ereditati devono essere Protected per poter essere ancorati. Per modificare il livello di accesso di un controllo, impostarne la proprietà Modificatore nella finestra Proprietà.

Usare la finestra di progettazione

Usare la finestra di progettazione di Visual Studio Proprietà per impostare la modalità di ancoraggio di un controllo.

  1. Selezionare il controllo nella finestra di progettazione.

  2. Nella finestra Proprietà, selezionare la freccia a destra della proprietà Dock.

    finestra Proprietà di Visual Studio per .NET Windows Forms con la proprietà Dock visualizzata.

  3. Selezionare il pulsante che rappresenta il bordo del contenitore in cui si vuole ancorare il controllo. Per riempire i contenuti del modulo o del controllo contenitore, premi la casella centrale. Premere (nessuno) per disabilitare l'ancoraggio.

    pannello Proprietà di Visual Studio per .NET Windows Forms con la proprietà Dock espansa.

Il controllo viene ridimensionato automaticamente per adattarsi ai confini del bordo ancorato.

Impostare il Dock a livello di codice

  1. Imposta la proprietà Dock su un controllo. In questo esempio un pulsante è ancorato al lato destro del contenitore:

    button1.Dock = DockStyle.Right;
    
    button1.Dock = DockStyle.Right
    

Ancorare un controllo

Un controllo viene ancorato a un bordo impostando la relativa proprietà Anchor su uno o più valori.

Annotazioni

Alcuni controlli, come ad esempio il controllo ComboBox, presentano un limite di altezza. L'ancoraggio del controllo alla parte inferiore della maschera o del contenitore non può forzare il controllo a superare il suo limite di altezza.

I controlli ereditati devono essere nel formato Protected per poter essere ancorati. Per modificare il livello di accesso di un controllo, impostarne la proprietà Modifiers nella finestra Proprietà.

Usare la finestra di progettazione

Usare la finestra di progettazione di Visual Studio e la finestra Proprietà per impostare i bordi ancorati di un controllo.

  1. Selezionare il controllo nella finestra di progettazione.

  2. Nella finestra Proprietà selezionare la freccia a destra della proprietà Anchor.

    riquadro Proprietà di Visual Studio per .NET Windows Forms con la proprietà Anchor visualizzata.

  3. Per impostare o annullare l'ancoraggio, selezionare il braccio superiore, sinistro, destro o inferiore della croce.

    riquadro Proprietà di Visual Studio per .NET Windows Form con la proprietà Anchor espansa.

Impostare l'ancoraggio a livello di codice

  1. Imposta la proprietà Anchor su un controllo. In questo esempio un pulsante è ancorato ai lati destro e inferiore del contenitore:

    button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
    
    button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    

Vedere anche