2009-06-22 1 views
6

Ho 3 controlli personalizzati, che voglio posizionare in una finestra ridimensionabile uno accanto all'altro. quando la finestra viene ridimensionata, questi controlli dovrebbero anche essere ridimensionati, ognuno dei quali prende il 33% della larghezza disponibile.C# winform distribuisce uniformemente 3 controlli

Ho provato a utilizzare un layout di tabella, ma sembra che la tabella cresca solo, ma non si restringe mai.

grazie per qualsiasi aiuto su questo!

+0

Si prega di descrivere cosa intendi con 'mai restringe'. Non dovrebbe essere così. –

+0

Intendo dire che quando ingrandisco la finestra, il tablelayout cresce con esso. ma quando faccio la finestra più piccola, il tablelayout rimane così com'è. – clamp

+0

@matt: questo non è il comportamento normale. Provalo su una forma pulita. La risposta di Ksempac è corretta. –

risposta

18

È possibile utilizzare un TableLayoutPanel, con 3 colonne ciascuna delle dimensioni "33% percento". Quindi metti ciascun controllo nel pannello e imposta la proprietà di ancoraggio come desideri (ad esempio, destra-sinistra se il tuo controllo dovrebbe ridimensionarsi solo sul piano orizzontale).

Il TableLayoutPanel deve anche avere la sua proprietà Dock impostata su True in modo che possa occupare tutte le finestre e ridimensionarle di conseguenza.

+0

grazie ma è esattamente quello che ho già fatto, ma come ho detto il tablelayout cresce solo, ma non si riduce mai – clamp

+0

Ci sono diverse cose che devi controllare: hai impostato la proprietà Dock del tuo controllo? Se non l'hai fatto, quali sono i valori della sua proprietà Anchor? Il layout si ridimensiona in tutte le direzioni? Sei sicuro che il layout non sta ridimensionando? Se il layout tenta di ridimensionare, ma il controllo non lo fa (perché non hanno nessuna proprietà di ancoraggio o di dock impostata) non lo vedrai. – Ksempac

+0

Mi spiace nella prima domanda intendevo "Hai impostato la proprietà Dock del tuo TableLayoutPanel?". – Ksempac