2012-10-19 16 views
10

Come posso mantenere gli oggetti della mia finestra (pulsanti, etichette, ecc.) Al centro quando la finestra viene ridimensionata?come mantenere gli oggetti sul posto quando la finestra viene ridimensionata in C#

Attualmente, ho 3 pulsanti in un Windows Form. Quando massimizzo la finestra, i pulsanti rimangono nella parte in alto a sinistra della finestra. Voglio che siano al centro come erano quando la finestra non era ingrandita.

Qualsiasi aiuto?

+0

È possibile disattivare l'opzione 'Ingrandisci' se non è richiesta ... :) –

risposta

21

È necessario impostare le proprietà di ancoraggio dell'oggetto da nessuno,

Ciò manterrà in mezzo.

+1

Did it. Grazie ! :) –

0

Se si sta utilizzando il visual designer di Visual Studio (e non si ha motivo di non farlo), la proprietà del proprio controllo che si cerca di gestire come viene inserita in un modulo è "Ancoraggio". Per impostazione predefinita, quando si crea un nuovo controllo, viene impostato su "In alto a sinistra", il che significa che rimarranno in una posizione fissa in alto a sinistra del modulo. Puoi cambiarlo per ancorarli a qualcosa.

È inoltre possibile disabilitare gli ancoraggi e controllarne la posizione sovrascrivendo il metodo Ridimensionamento del modulo.

1

Impostare la proprietà Anchor dei controlli correttamente. Per impostazione predefinita, il controllo è ancorato a Top,Left. Se si cancella questa proprietà (ancoraggio a nulla, in sostanza), il pulsante rimarrà centrato.

(Può sembrare che si desidera ancorare a tutti e quattro i lati, ma in realtà ciò che questo farà è ridimensionare il pulsante per compilare il modulo!)

+0

L'ho fatto. Grazie. Ma non sta ridimensionando i pulsanti. Quando massimizzo la finestra, i pulsanti hanno le stesse dimensioni di prima. C'è un modo in cui i pulsanti aumentano anche le loro dimensioni con la stessa proporzione? –

+0

Se si imposta 'Ancoraggio' su 'Alto, Sinistro, Basso, Destro', il pulsante verrà ridimensionato quando si ridimensiona il modulo, ma non manterrà la stessa * proporzione * al modulo (cioè, verrà ridimensionato da lo stesso numero di pixel del modulo) Se si desidera mantenere le dimensioni del pulsante come percentuale fissa della dimensione del modulo, è necessario codificarlo manualmente. –

4

Per mantenere il layout fisso e in mezzo fare questo :

  1. Su Form aggiungi TableLayoutPanel.
  2. Impostare è Dock proprietà a Fill.
  3. Creare 3 righe e 3 colonne.
  4. Modifica righe e colonne - imposta il 50% per la prima e l'ultima colonna e riga.
  5. Imposta le dimensioni fisse per la riga centrale e la colonna.
  6. Posiziona Panel o qualsiasi altra cosa che ti piace in 2a riga e 2a colonna. Sarà sempre nel mezzo.
Problemi correlati