Condividi tramite


Procedura dettagliata: disposizione di controlli Windows Form utilizzando spaziatura, margini e la proprietà AutoSize

Per molte applicazioni è estremamente importante la sistemazione precisa dei controlli nel form. A tale scopo, Progettazione Windows Form offre diversi strumenti di layout. Tre importanti proprietà presenti in tutti i controlli Windows Form sono Margin, Padding e AutoSize.

La proprietà Margin consente di definire lo spazio intorno al controllo per mantenere gli altri controlli a una specifica distanza dai bordi del controllo.

La proprietà Padding consente di definire lo spazio all'interno di un controllo per mantenere il contenuto del controllo, ad esempio il valore della proprietà Text, a una specifica distanza dai bordi del controllo.

Nell'illustrazione che segue sono visibili le proprietà Padding e Margin in un controllo.

Spaziatura e margine per controlli Windows Form

La proprietà AutoSize indica a un controllo di eseguire automaticamente il ridimensionamento in base al contenuto. Il ridimensionamento non verrà eseguito per un valore inferiore a quello originale della proprietà Size e verrà tenuto in considerazione il valore della proprietà Padding.

Di seguito sono elencate le attività illustrate nella procedura dettagliata:

  • Creazione di un progetto Windows Form

  • Impostazione dei margini dei controlli

  • Impostazione della spaziatura interna dei controlli

  • Ridimensionamento automatico dei controlli

Al termine, si saranno acquisite le informazioni circa il ruolo delle importanti funzionalità di layout.

Nota

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Prerequisiti

Per completare questa procedura dettagliata è necessario:

  • Disporre di autorizzazioni sufficienti per creare ed eseguire progetti di applicazioni Windows Form nel computer dove è installato Visual Studio.

Creazione del progetto

Il primo passaggio indica come creare il progetto e impostare il form.

Per creare il progetto

  1. Creare un progetto Applicazione Windows denominato LayoutExample. Per ulteriori informazioni, vedere Procedura: creare un progetto applicazione Windows.

  2. Selezionare il form in Progettazione Windows Form.

Impostazione dei margini dei controlli

Tramite la proprietà Margin è possibile impostare la distanza predefinita tra i controlli. Quando si sposta un controllo vicino ad un altro controllo, verrà visualizzata una guida di allineamento che indica i margini per i due controlli. Inoltre, il controllo che si sta spostando viene bloccato in posizione alla distanza definita dai margini.

Per disporre i controlli nel form utilizzando la proprietà per margini

  1. Trascinare due controlli Button dalla Casella degli strumenti nel form.

  2. Selezionare uno dei controlli Button e spostarlo accanto all'altro fino quasi a farli toccare.

    Si osservi la guida di allineamento che viene visualizzata tra i controlli indicante la distanza calcolata dalla somma dei valori Margin dei due controlli. Il controllo che si sta spostando si blocca in posizione a tale distanza. Per informazioni dettagliate, vedere Procedura dettagliata: disposizione dei controlli in Windows Form utilizzando guide di allineamento.

  3. Modificare la proprietà Margin di uno dei controlli espandendo la voce Margin nella finestra Proprietà e impostando la proprietà All su 20.

  4. Selezionare uno dei controlli Button e spostarlo accanto all'altro.

    La guida di allineamento che definisce la somma dei valori dei margini diventa più lunga e il controllo si blocca a una distanza maggiore dall'altro controllo.

  5. Modificare la proprietà Margin del controllo selezionato espandendo la voce Margin nella finestra Proprietà e impostando la proprietà Top su 5.

  6. Spostare il controllo selezionato sotto l'altro controllo e osservare che la guida di allineamento è più breve. Spostare il controllo selezionato a sinistra dell'altro controllo e osservare che la guida di allineamento mantiene il valore ottenuto al passaggio 4.

  7. È possibile impostare ogni aspetto della proprietà Margin, Left, Top, Right, Bottom, su differenti valori oppure è possibile impostarli tutti su uno stesso valore con la proprietà All.

Impostazione della spaziatura interna dei controlli

Per ottenere esattamente il layout necessario per l'applicazione, spesso i controlli contengono controlli figlio. Per specificare la vicinanza del bordo del controllo figlio al bordo del controllo padre, utilizzare la proprietà Padding del controllo padre insieme alla proprietà Margin del controllo figlio. La proprietà Padding viene anche utilizzata per controllare la vicinanza del contenuto di un controllo, ad esempio la proprietà Text di un controllo Button, ai bordi.

Per disporre i controlli nel form utilizzando la spaziatura interna

  1. Trascinare un controllo Button dalla Casella degli strumenti al form.

  2. Modificare il valore della proprietà AutoSize del controllo Button su true.

  3. Modificare la proprietà Padding espandendo la voce Padding nella finestra Proprietà e impostando la proprietà All su 5.

    Il controllo si espande per fornire lo spazio per la nuova spaziatura interna.

  4. Trascinare un controllo GroupBox dalla Casella degli strumenti al form. Trascinare un controllo Button dalla Casella degli strumenti nel controllo GroupBox. Posizionare il controllo Button in modo da allinearlo all'angolo inferiore destro del controllo GroupBox.

    Quando il controllo Button si avvicina ai bordi inferiore e destro del controllo GroupBox vengono visualizzate le guide di allineamento. Tali guide di allineamento corrispondono alla proprietà Margin di Button.

  5. Modificare il valore della proprietà Padding del controllo GroupBox espandendo la voce Padding nella finestra Proprietà e impostando la proprietà All su 20.

  6. Selezionare il controllo Button nel controllo GroupBox e spostarlo verso il centro di GroupBox.

    Le guide di allineamento vengono visualizzate a una distanza maggiore dai bordi del controllo GroupBox. Tale distanza corrisponde alla somma della proprietà Margin del controllo Button e della proprietà Padding del controllo GroupBox.

Ridimensionamento automatico dei controlli

In alcune applicazioni, la dimensione di un controllo in fase di esecuzione non è uguale a quella della fase di progettazione. Il testo di un controllo Button, ad esempio, potrebbe essere ottenuto da un database e avere una lunghezza non definibile in anticipo.

Quando la proprietà AutoSize è impostata su true, il controllo viene automaticamente ridimensionato in base al contenuto. Per ulteriori informazioni, vedere Cenni preliminari sulla proprietà AutoSize.

Per disporre i controlli nel form utilizzando la proprietà AutoSize

  1. Trascinare un controllo Button dalla Casella degli strumenti al form.

  2. Modificare il valore della proprietà AutoSize del controllo Button su true.

  3. Modificare la proprietà Text del controllo Button su "La stringa per la proprietà Text di questo pulsante è lunga".

    Eseguita la modifica, il controllo Button viene ridimensionato per adattarsi al nuovo testo.

  4. Trascinare un altro controllo Button dalla Casella degli strumenti nel form.

  5. Modificare la proprietà Text del controllo Button su "La stringa per la proprietà Text di questo pulsante è lunga".

    Eseguita la modifica, il controllo Button non verrà ridimensionato e il testo viene troncato al bordo destro del controllo.

  6. Modificare la proprietà Padding espandendo la voce Padding nella finestra Proprietà e impostando la proprietà All su 5.

    Il testo all'interno del controllo viene troncato per tutti i quattro i lati.

  7. Modificare la proprietà AutoSize del controllo Button su true.

    Il controllo Button viene ridimensionato per includere l'intera stringa. È stata inoltre aggiunta la spaziatura interna intorno al testo e il controllo Button quindi si è espanso nelle quattro direzioni.

  8. Trascinare un controllo Button dalla Casella degli strumenti al form. Posizionarlo accanto all'angolo inferiore destro del form.

  9. Modificare il valore della proprietà AutoSize del controllo Button su true.

  10. Impostare la proprietà Anchor del controllo Button su Right, Bottom.

  11. Modificare la proprietà Text del controllo Button su "La stringa per la proprietà Text di questo pulsante è lunga".

    Eseguita la modifica, il controllo Button viene ridimensionato verso sinistra. In generale, il ridimensionamento automatico aumenta la dimensione di un controllo nella direzione opposta all'impostazione della proprietà Anchor.

Proprietà AutoSize e AutoSizeMode

Alcuni controlli supportano la proprietà AutoSizeMode che consente di determinare in modo più capillare il ridimensionamento automatico di un controllo.

Per utilizzare la proprietà AutoSizeMode

  1. Trascinare un controllo Panel dalla Casella degli strumenti al form.

  2. Impostare il valore della proprietà AutoSize del controllo Panel su true.

  3. Trascinare un controllo Button dalla Casella degli strumenti nel controllo Panel.

  4. Posizionare il controllo Button accanto all'angolo inferiore destro del controllo Panel.

  5. Selezionare il controllo Panel e agganciare il quadratino di ridimensionamento inferiore destro. Ridimensionare il controllo Panel in modo che sia più grande e più piccolo.

    Nota

    È possibile ridimensionare liberamente il controllo Panel, ma non è possibile renderlo più piccolo della posizione dell'angolo inferiore destro del controllo Button. Tale comportamento è specificato dal valore predefinito GrowOnly della proprietà AutoSizeMode.

  6. Impostare il valore della proprietà AutoSizeMode del controllo Panel su GrowAndShrink.

    Il controllo Panel viene ridimensionato in modo da circondare il controllo Button. Non è possibile ridimensionare il controllo Panel.

  7. Trascinare il controllo Button verso l'angolo superiore sinistro del controllo Panel.

    Il controllo Panel viene ridimensionato in base alla nuova posizione del controllo Button.

Passaggi successivi

Vi sono molte altre funzionalità di layout per la disposizione dei controlli nelle applicazioni Windows Form. Di seguito sono elencate alcune combinazioni che si potrebbero provare:

Vedere anche

Attività

Procedura dettagliata: disposizione dei controlli in Windows Form utilizzando TableLayoutPanel

Procedura dettagliata: disposizione dei controlli in Windows Form utilizzando FlowLayoutPanel

Procedura dettagliata: disposizione dei controlli in Windows Form utilizzando guide di allineamento

Riferimenti

AutoSize

DockPadding

Margin

Padding

Concetti

Cenni preliminari sulla proprietà AutoSize