2013-01-02 30 views
6

Ho questo modulo, con un controllo della linguetta e una casella di riepilogo all'interno:In che modo i miei elementi del modulo possono essere ridimensionati quando la finestra viene ridimensionata?

enter image description here

Quando ho ridimensionare l'altezza della finestra, ottengo qualcosa di simile:

enter image description here

Tuttavia, in realtà desiderava il controllo scheda e la casella di riepilogo per ridimensionare, con il seguente risultato:

enter image description here

Credo di poter ottenere questo effetto semplicemente rispondendo a un qualche tipo di metodo onResize() nel modulo e faccio i miei calcoli per aggiornare manualmente le dimensioni del controllo Struttura a schede e della casella di riepilogo di conseguenza.

Tuttavia, ho visto molte applicazioni ottenere questo effetto, quindi ho il sospetto che ci sia in realtà un modo migliore per farlo - forse una funzione integrata.

Conosci un modo migliore per ottenere questo effetto?

risposta

8

Ecco un buon tutorial che spiega come ridimensionare controlli WinForm sul ridimensionamento del controllo di modulo container usando il Dock e di ancoraggio proprietà:

http://www.techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/6165908

Impostazione dei quattro valori della proprietà di ancoraggio (in alto, a destra , in basso, a sinistra), puoi rendere i bordi del tuo controllo sempre stazionari rispetto al controllo Form anche quando viene ridimensionato.

+4

I collegamenti non sono risposte. Le risposte su SO dovrebbero essere autonome. Per favore [rivedi questa meta domanda] (http://meta.stackexchange.com/q/8231/135887). – Charles

+0

@Charles: Mi stai suggerendo di non accettare questa risposta? Curiosamente, non ho dovuto vedere il tutorial (la frase "proprietà di ancoraggio" ha fatto praticamente il lavoro) – Voldemort

+1

Ho menzionato le proprietà necessarie da usare (ancora e dock), se non è ancora sufficiente mi dispiace per quello . Ill aggiorno la risposta con le informazioni rilevanti in un attimo. – Cdeez

5

È possibile utilizzare la proprietà di ancoraggio del controllo struttura a schede - basta ancorare tutti e quattro i lati.

1

È possibile utilizzare proprietà Dock di di entrambi Tab e listbox essere compilare

0

Si utilizzano le proprietà Dock e Anchor per controllare come un controllo componente viene ridimensionato quando il suo genitore/contenitore viene ridimensionato.

Per effettuare un controllo riempire il suo contenitore, semplicemente

theControl.Dock = System.Windows.Forms.DockStyle.Fill 

Per mantenere alcuni margini, impostare la proprietà Anchor

theControl.Anchor = CType((System.Windows.Forms.AnchorStyles.Top _ 
    Or System.Windows.Forms.AnchorStyles.Bottom _ 
    Or System.Windows.Forms.AnchorStyles.Left _ 
    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) 

È inoltre possibile impostare queste proprietà nella finestra degli strumenti Proprietà.

1

Questo può aiutare:

Private Sub frmMain_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged 'tab container sizechanged event 
     tabMain.Dock = DockStyle.None 'set dock to none to allow resize 
     tabMain.Size = New Size(New Point(3, 3)) ' set size anything you want 
     tabMain.Dock = DockStyle.Fill 'set dock to fill to fit to container 
    End Sub 
+0

Dovresti spiegare cosa stai facendo qui. – wonko79

+0

tabMain è il tabControl. frmMain è il modulo contenente tabControl. Questo è facile! – gani

0

Per ottenere il posto risultato desiderato il controllo come si vuole che sia in forma di formato standard. quindi utilizzare la proprietà Anchor in alto, in basso, a sinistra, a destra. ciò consente di specificare che si desidera sempre che il controllo sia posizionato relativamente nella forma in base alla dimensione più piccola.

I.E: Imposta la proprietà di ancoraggio su Superiore, Inferiore, Sinistra, Destra per garantire che il bordo superiore, inferiore, sinistro, destro del controllo rimanga sempre alla stessa distanza da ciascun bordo indipendentemente dalle dimensioni dei genitori.

Se si desidera che il comando posto una distanza specifica da ogni bordo dell'uso superficie di controllo Ancoraggio Superiore, Inferiore, Sinistra, Destra

se si desidera che la parte superiore di controllo e bordo sinistro bloccato 8 pixel dalla parte superiore e sinistra bordo del genitore, imposta la proprietà di ancoraggio su Alto, a sinistra il controllo non verrà mai ridimensionato rimarrà sempre posizionato relativamente a 8,8.

+0

Aggiungere un codice formattato alla tua risposta sarebbe stato grandioso :) –

0

Fare clic su tab 1 o tab 2 Quindi sul lato nel Property Tab cercare la proprietà Dock. Quindi selezionare quello nel mezzo o digitare pieno.

O

si può guardare per Anchor e selezionare la bottom tab, il top tag, il right tag, e il left tag.

Spero che questo abbia aiutato!

Problemi correlati