2009-10-28 17 views
26

Używam do tego celu projektanta VS2008.Automatyczne zmienianie rozmiaru formantów Windows Forms

Na przykład, jeśli mam format okna o rozmiarach powiedzmy 500x500 i dodałem do niego DataGridView (490x490).

po uruchomieniu tego programu. i zmaksymalizować formę, DataGridView nadal pozostaje tej samej wielkości. reszta dodatkowej przestrzeni jest pusta w formularzu. Chcę, aby DataGridView również zajmował cały rozmiar okna.

Żadne oprogramowanie nie będzie takie. Nie wiem, co zmienić w celu uzyskania pożądanego zachowania.

Odpowiedz

46

Możesz użyć Docku lub dla bardziej precyzyjnego sterowania użyj właściwości Anchor. Ustawiając Anchor na lewo, prawo, góra, dół kontrola zostanie skalowana za pomocą okna. Ustawiając kotwicę w prawo, kontrolka przesunie się z prawą ramką. Ustawienie kotwicy w górnej i dolnej części spowoduje skalowanie w pionie, ale ma stałą szerokość. Tylko eksperyment

+0

A kiedy chcę zmienić rozmiar kontrolek na szczególną wartość. na przykład ControlSize * = 2 przy zmianie rozmiaru formularza? – DhavalR

6

Ustaw właściwość Dock dla obiektu Wypełnienie na DataGridView.

19

eter można ustawić Dock-Nieruchomości z instancji DataGridView do DockStyle.Fill lub użyj Anchor -property i ustawić kotwy do:

dataGridView.Anchor = 
    AnchorStyles.Bottom | 
    AnchorStyles.Right | 
    AnchorStyles.Top | 
    AnchorStyles.Left; 

Pierwsza metoda sprawi, że DataGridView, aby wypełnić swój całość Strefa Klienta. Druga metoda zachowa proporcję i zmieni tylko rozmiar kontrolki, jeśli pojemnik zmieni rozmiar.

8

do dokowania wypełnione wewnątrz stosowania winform:

dataGridView.Dock = DockStyle.Fill; 
+0

Nice + 1, łatwe i działa dobrze z MSChart. –

2

Jeśli potrzebujesz inne rzeczy, takie jak pole tekstowe, PictureBox etc jak auto skalowania następnie przejść do ich odpowiedniego majątku kotwicy i ustawiony jest w zależności od wyniku pragnienie.

Powiązane problemy