Procedura dettagliata: disposizione di controlli Windows Form utilizzando spaziatura, margini e la proprietà AutoSizeWalkthrough: Laying Out Windows Forms Controls with Padding, Margins, and the AutoSize Property

Per molte applicazioni è estremamente importante la sistemazione precisa dei controlli nel form.Precise placement of controls on your form is a high priority for many applications. Il Progettazione Windows Form offre diversi strumenti di layout a questo scopo.The Windows Forms Designer gives you many layout tools to accomplish this. Tre dei più importanti sono le Margin, Padding, e AutoSize proprietà, sono presenti in tutti i controlli Windows Form.Three of the most important are the Margin, Padding, and AutoSize properties, which are present on all Windows Forms controls.

La proprietà Margin definisce lo spazio intorno al controllo per mantenere gli altri controlli a una specifica distanza dai bordi del controllo stesso.The Margin property defines the space around the control that keeps other controls a specified distance from the control's borders.

La proprietà Padding definisce 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 stesso.The Padding property defines the space in the interior of a control that keeps the control's content (for example, the value of its Text property) a specified distance from the control's borders.

L'illustrazione seguente mostra le proprietà Padding e Margin in un controllo.The following illustration shows the Padding and Margin properties on a control.

Spaziatura e margini per Windows Form controlliPadding And Margin for Windows Forms Controls

Il AutoSize proprietà indica un controllo di ridimensionato automaticamente in base al relativo contenuto.The AutoSize property tells a control to automatically size itself to its contents. Scheda non verrà ridimensionata automaticamente in modo da essere minore del valore di quello originale Size proprietà e verrà tenuto in considerazione per il valore del relativo Padding proprietà.It will not resize itself to be smaller than the value of its original Size property, and it will account for the value of its Padding property.

Le attività illustrate nella procedura dettagliata sono le seguenti:Tasks illustrated in this walkthrough include:

  • Creazione di un progetto Windows FormCreating a Windows Forms project

  • Impostazione dei margini per i controlliSetting Margins for Your Controls

  • Impostazione della spaziatura dei controlliSetting Padding for Your Controls

  • Ridimensionamento automatico dei controlliAutomatically Sizing Your Controls

Al termine, si avrà una migliore comprensione del ruolo svolto da queste importanti funzionalità di layout.When you are finished, you will have an understanding of the role played by these important layout features.

Nota

Le finestre di dialogo e i comandi di menu visualizzati potrebbero essere diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma.The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti .To change your settings, choose Import and Export Settings on the Tools menu. Per altre informazioni, vedere Personalizzazione delle impostazioni di sviluppo in Visual Studio.For more information, see Customizing Development Settings in Visual Studio.

PrerequisitiPrerequisites

Per completare questa procedura dettagliata, è necessario:In order to complete this walkthrough, you will need:

  • Disporre di autorizzazioni sufficienti creare ed eseguire progetti di applicazione Windows Form nel computer in cui è installato Visual Studio.Sufficient permissions to be able to create and run Windows Forms application projects on the computer where Visual Studio is installed.

Creazione del progettoCreating the Project

Il primo passaggio consiste nella creazione del progetto e nella configurazione del form.The first step is to create the project and set up the form.

Per creare il progettoTo create the project

  1. Creare un applicazione Windows progetto denominato LayoutExample.Create a Windows Application project called LayoutExample. Per ulteriori informazioni, vedere procedura: creare un progetto di applicazione Windows .For more information, see How to: Create a Windows Application Project .

  2. Selezionare il form nel Progettazione Windows Form.Select the form in the Windows Forms Designer.

Impostazione dei margini per i controlliSetting Margins for Your Controls

È possibile impostare la distanza tra i controlli mediante il Margin proprietà.You can set the default distance between your controls using the Margin property. Quando si sposta un controllo vicino a un altro controllo, viene visualizzata una Guida di allineamento che mostra i margini per i due controlli.When you move a control close enough to another control, you will see a snapline that shows the margins for the two controls. Il controllo a cui che si desidera spostare anche verrà bloccata la distanza definito per i margini.The control you are moving will also snap to the distance defined by the margins.

Per disporre i controlli nel form utilizzando la proprietà MarginTo arrange controls on your form using the Margin property

  1. Trascinare due Button dei controlli di della casella degli strumenti nel form.Drag two Button controls from the Toolbox onto your form.

  2. Selezionare una del Button controlla e spostarlo accanto a altro, fino a quando non si stanno pressoché toccando.Select one of the Button controls and move it close to the other, until they are almost touching.

    Osservare la Guida di allineamento che viene visualizzato tra di essi.Observe the snapline that appears between them. La distanza è la somma dei due controlli Margin valori.This distance is the sum of the two controls' Margin values. Il controllo che si sta spostando si blocca questa distanza.The control you are moving snaps to this distance. Per informazioni dettagliate, vedere procedura dettagliata: disposizione dei controlli in Windows Form usando guide di allineamento.For details, see Walkthrough: Arranging Controls on Windows Forms Using Snaplines.

  3. Modifica il Margin proprietà di uno dei controlli espandendo il Margin voce il proprietà finestra e impostando il All proprietà a 20.Change the Margin property of one of the controls by expanding the Margin entry in the Properties window and setting the All property to 20.

  4. Selezionare una del Button controlla e spostarlo accanto a altro.Select one of the Button controls and move it close to the other.

    Guida di allineamento che definisce la somma dei valori di margine è più lungo e che il controllo si blocca a una distanza maggiore da altro controllo.The snapline defining the sum of the margin values is longer and that the control snaps to a greater distance from the other control.

  5. Modifica il Margin proprietà del controllo selezionato espandendo il Margin voce il proprietà finestra e impostando il Top proprietà fino a 5.Change the Margin property of the selected control by expanding the Margin entry in the Properties window and setting the Top property to 5.

  6. Spostare il controllo selezionato sotto l'altro controllo e osservare che la Guida di allineamento è più breve.Move the selected control below the other control and observe that the snapline is shorter. Spostare il controllo selezionato a sinistra di altro controllo e osservare che la Guida di allineamento mantiene il valore ottenuto nel passaggio 4.Move the selected control to the left of the other control and observe that the snapline retains the value observed in step 4.

  7. È possibile impostare ogni aspetto del Margin proprietà Left, Top, Right, Bottom, su valori diversi oppure è possibile impostarle tutte sullo stesso valore con il All proprietà.You can set each of the aspects of the Margin property, Left, Top, Right, Bottom, to different values, or you can set them all to the same value with the All property.

Impostazione della spaziatura dei controlliSetting Padding for Your Controls

Per ottenere il layout preciso richiesto per l'applicazione, i controlli spesso conterrà i controlli figlio.To achieve the precise layout required for your application, your controls will often contain child controls. Quando si desidera specificare la vicinanza del bordo del controllo figlio al bordo del controllo padre, utilizzare il controllo padre Padding proprietà in combinazione con il controllo figlio Margin proprietà.When you want to specify the proximity of the child control's border to the parent control's border, use the parent control's Padding property in conjunction with the child control's Margin property. Il Padding proprietà viene utilizzata anche per controllare la vicinanza del contenuto di un controllo (ad esempio, un Button del controllo Text proprietà) per i bordi.The Padding property is also used to control the proximity of a control's content (for example, a Button control's Text property) to its borders.

Per disporre i controlli nel form utilizzando spaziatura internaTo arrange controls on your form using padding

  1. Trascinare un Button controllo il della casella degli strumenti nel form.Drag a Button control from the Toolbox onto your form.

  2. Modificare il valore della proprietà del controllo Button, AutoSize, su true.Change the value of the Button control's AutoSize property to true.

  3. Modifica il Padding espandendo il Padding voce il proprietà finestra e impostando il All proprietà fino a 5.Change the Padding property by expanding the Padding entry in the Properties window and setting the All property to 5.

    Il controllo si espande per lasciare spazio per il riempimento di nuovo.The control expands to provide room for the new padding.

  4. Trascinare un GroupBox controllo il della casella degli strumenti nel form.Drag a GroupBox control from the Toolbox onto your form. Trascinare un Button controllo il della casella degli strumenti nel GroupBox controllo.Drag a Button control from the Toolbox into the GroupBox control. Posizione di Button controllare in modo che sia allineato con l'angolo inferiore destro del GroupBox controllo.Position the Button control so it is flush with the lower-right corner of the GroupBox control.

    Osservare le guide di allineamento che appaiono come il Button controllo si avvicina ai bordi inferiore e destro del GroupBox controllo.Observe the snaplines that appear as the Button control approaches the bottom and right borders of the GroupBox control. Tali guide di allineamento corrispondono al Margin proprietà del Button.These snaplines correspond to the Margin property of the Button.

  5. Modifica il GroupBox del controllo Padding espandendo il Padding voce il proprietà finestra e impostando il All proprietà a 20.Change the GroupBox control's Padding property by expanding the Padding entry in the Properties window and setting the All property to 20.

  6. Selezionare il Button controllo all'interno di GroupBox controllare e spostarlo verso il centro del GroupBox.Select the Button control within the GroupBox control and move it toward the center of the GroupBox.

    Le guide di allineamento vengono visualizzati a una distanza maggiore dai bordi del GroupBox controllo.The snaplines appear at a greater distance from the borders of the GroupBox control. La distanza è la somma del Button del controllo Margin proprietà e GroupBox del controllo Padding proprietà.This distance is the sum of the Button control's Margin property and the GroupBox control's Padding property.

Ridimensionamento automatico dei controlliAutomatically Sizing Your Controls

In alcune applicazioni, le dimensioni di un controllo non sarà lo stesso in fase di esecuzione è stato in fase di progettazione.In some applications, the size of a control will not be the same at run time as it was at design time. Il testo di un Button controllo, ad esempio, può essere eseguito da un database e la lunghezza non noto in anticipo.The text of a Button control, for example, may be taken from a database, and its length will not be known in advance.

Quando il AutoSize è impostata su true, il controllo verrà ridimensionato in base al relativo contenuto.When the AutoSize property is set to true, the control will size itself to its content. Per ulteriori informazioni, vedere Cenni preliminari sulla proprietà AutoSize.For more information, see AutoSize Property Overview.

Per disporre i controlli nel form utilizzando la proprietà AutoSizeTo arrange controls on your form using the AutoSize property

  1. Trascinare un Button controllo il della casella degli strumenti nel form.Drag a Button control from the Toolbox onto your form.

  2. Modificare il valore della proprietà del controllo Button, AutoSize, su true.Change the value of the Button control's AutoSize property to true.

  3. Modifica il Button del controllo Text proprietà su "di questo pulsante è una stringa lunga per la proprietà Text."Change the Button control's Text property to "This button has a long string for its Text property."

    Quando si esegue il commit della modifica, il Button controllo viene ridimensionata per adattarsi al nuovo testo.When you commit the change, the Button control resizes itself to fit the new text.

  4. Trascinare un'altra Button controllo il della casella degli strumenti nel form.Drag another Button control from the Toolbox onto your form.

  5. Modifica il Button del controllo Text proprietà su "di questo pulsante è una stringa lunga per la proprietà Text."Change the Button control's Text property to "This button has a long string for its Text property."

    Quando si esegue il commit della modifica, il Button controllo viene ridimensionato automaticamente e il testo viene ritagliato in base al bordo destro del controllo.When you commit the change, the Button control does not resize itself, and the text is clipped by the right edge of the control.

  6. Modifica il Padding espandendo il Padding voce il proprietà finestra e impostando il All proprietà fino a 5.Change the Padding property by expanding the Padding entry in the Properties window and setting the All property to 5.

    Il testo interno del controllo viene troncato in tutti e quattro i lati.The text in the control's interior is clipped on all four sides.

  7. Modifica il Button del controllo AutoSize proprietà true.Change the Button control's AutoSize property to true.

    Il Button controllo viene ridimensionato automaticamente in modo da includere l'intera stringa.The Button control resizes itself to encompass the entire string. Inoltre, la spaziatura interna aggiunti intorno al testo, causando il Button controllo per espandere in tutte e quattro le direzioni.Also, padding has been added around the text, causing the Button control to expand in all four directions.

  8. Trascinare un Button controllo il della casella degli strumenti nel form.Drag a Button control from the Toolbox onto your form. Posizionarlo in prossimità dell'angolo inferiore destro del form.Position it near the lower-right corner of the form.

  9. Modificare il valore della proprietà del controllo Button, AutoSize, su true.Change the value of the Button control's AutoSize property to true.

  10. Impostare il Button del controllo Anchor proprietà Right, Bottom.Set the Button control's Anchor property to Right, Bottom.

  11. Modifica il Button del controllo Text proprietà su "di questo pulsante è una stringa lunga per la proprietà Text."Change the Button control's Text property to "This button has a long string for its Text property."

    Quando si esegue il commit della modifica, il Button controllo viene ridimensionato verso sinistra.When you commit the change, the Button control resizes itself toward the left. In generale, ridimensionamento automatico aumenta le dimensioni di un controllo nella direzione opposta relativo Anchor l'impostazione della proprietà.In general, automatic sizing will increase the size of a control in the direction opposite its Anchor property setting.

Proprietà AutoSize e AutoSizeModeAutoSize and AutoSizeMode Properties

Alcuni controlli supportano il AutoSizeMode proprietà, che offre un controllo più accurato il comportamento di ridimensionamento automatico di un controllo.Some controls support the AutoSizeMode property, which gives you more fine-grained control over the automatic sizing behavior of a control.

Utilizzare la proprietà AutoSizeModeTo use the AutoSizeMode property

  1. Trascinare un Panel controllo il della casella degli strumenti nel form.Drag a Panel control from the Toolbox onto your form.

  2. Impostare il valore della Panel del controllo AutoSize proprietà true.Set the value of the Panel control's AutoSize property to true.

  3. Trascinare un Button controllo il della casella degli strumenti nel Panel controllo.Drag a Button control from the Toolbox into the Panel control.

  4. Sul posto di Button controllo nell'angolo inferiore destro del Panel controllo.Place the Button control near the lower-right corner of the Panel control.

  5. Selezionare il Panel controllo e trascinare il quadratino di ridimensionamento in basso a destra.Select the Panel control and grab the lower-right sizing handle. Ridimensionare il Panel controllo sia superiore e inferiore.Resize the Panel control to be larger and smaller.

    Nota

    È possibile ridimensionare liberamente il Panel il controllo, ma è possibile renderlo più piccolo della posizione del Button nell'angolo in basso a destra del controllo.You can freely resize the Panel control, but you cannot size it smaller than the position of the Button control's lower-right corner. Questo comportamento è specificato dal valore predefinito del AutoSizeMode proprietà, ovvero GrowOnly.This behavior is specified by the default value of the AutoSizeMode property, which is GrowOnly.

  6. Impostare il valore della Panel del controllo AutoSizeMode proprietà GrowAndShrink.Set the value of the Panel control's AutoSizeMode property to GrowAndShrink.

    Il Panel viene ridimensionato in modo da racchiudere il Button controllo.The Panel control sizes itself to surround the Button control. Non è possibile ridimensionare il Panel controllo.You cannot resize the Panel control.

  7. Trascinare il Button controllo verso l'angolo superiore sinistro del Panel controllo.Drag the Button control toward the upper-left corner of the Panel control.

    Il Panel controllo viene ridimensionato per il Button nuova posizione del controllo.The Panel control resizes to the Button control's new position.

Passaggi successiviNext Steps

Sono disponibili molte altre funzionalità di layout per disporre i controlli nelle applicazioni Windows Form.There are many other layout features for arranging controls in your Windows Forms applications. Ecco alcune combinazioni di cui che è possibile provare:Here are some combinations you might try:

Vedere ancheSee Also

AutoSize
DockPadding
Margin
Padding
Panoramica sulla proprietà AutoSizeAutoSize Property Overview
Procedura dettagliata: disposizione di controlli in Windows Form usando TableLayoutPanelWalkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel
Procedura dettagliata: disposizione dei controlli in Windows Form usando FlowLayoutPanelWalkthrough: Arranging Controls on Windows Forms Using a FlowLayoutPanel
Procedura dettagliata: Disposizione dei controlli in Windows Form usando guide di allineamentoWalkthrough: Arranging Controls on Windows Forms Using Snaplines