/ / Jak mogę zmienić rozmiar elementów formularza po zmianie rozmiaru okna? - vb.net, winforms, visual-studio

W jaki sposób można zmieniać rozmiar elementów formularza podczas zmiany rozmiaru okna? - vb.net, winforms, visual-studio

Mam ten formularz, z kontrolką karty i listą w środku:

wprowadź opis obrazu tutaj

Kiedy zmieniam wysokość okna, otrzymuję coś takiego:

wprowadź opis obrazu tutaj

Jednak tak naprawdę chciałem, aby kontrolka karty i pole listy zmieniały się wraz z następującym wynikiem:

wprowadź opis obrazu tutaj

Wierzę, że mógłbym osiągnąć ten efekt, po prostu odpowiadając na jakiś rodzaj onResize() w formularzu i wykonaj własne obliczenia, aby ręcznie zaktualizować odpowiednio rozmiar kontrolki karty i pola listy.

Jednak widziałem, że wiele aplikacji osiąga ten efekt, więc podejrzewam, że istnieje lepszy sposób na osiągnięcie tego - być może wbudowana funkcja.

Czy znasz lepszy sposób na osiągnięcie tego efektu?

Odpowiedzi:

9 dla odpowiedzi № 1

Oto dobry samouczek, który wyjaśnia, jak zmienić rozmiar kontrolek winform przy zmianie rozmiaru kontrolki formularza kontenera przy użyciu właściwości dock i anchor:

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

Ustawiając cztery wartości właściwości zakotwiczenia (góra, prawo, dół, lewo), możesz sprawić, że krawędzie kontrolki pozostaną nieruchome w odniesieniu do kontrolki Form, nawet jeśli zostanie zmieniona wielkość.


6 dla odpowiedzi nr 2

Możesz użyć właściwości zakotwiczenia kontrolki karty - po prostu zakotwicz wszystkie cztery strony.


1 dla odpowiedzi nr 3

Możesz użyć właściwości Dock zarówno karty, jak i pola listy do wypełnienia


1 dla odpowiedzi nr 4

Może to pomóc:

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 dla odpowiedzi № 5

Korzystasz z Dock i Anchor właściwości, aby kontrolować sposób zmiany rozmiaru formantu składnika, gdy zostanie zmieniony rozmiar jego elementu nadrzędnego / kontenera.

Aby kontrolka wypełniła po prostu jej pojemnik

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

Aby zachować pewne marginesy, ustaw Anchor własność

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)

Właściwości te można również ustawić w oknie narzędzia Właściwości.


0 dla odpowiedzi № 6

Aby uzyskać pożądany rezultat, umieść kontrolę w jaki sposóbchcesz, aby był w standardowym rozmiarze. następnie użyj właściwość Anchor na Top, Bottom, Left, Right. Dzięki temu możesz określić, że chcesz, aby formant był zawsze umieszczony względnie w formularzu na podstawie najmniejszego rozmiaru.

JA.MI: Ustaw właściwość zakotwiczenia na Top, Bottom, Left, Right, co zapewni, że górna, dolna, lewa, prawa krawędź kontrolki będzie zawsze znajdować się w tej samej odległości od każdej krawędzi, niezależnie od rozmiaru nadrzędnego.

Jeśli chcesz, aby kontrolka została umieszczona w określonej odległości od każdej krawędzi powierzchni kontrolnej, użyj opcji Zakotwiczenie do góry, do dołu, do lewej, do prawej

jeśli chcesz zablokować górną i lewą krawędź kontrolną8 pikseli od górnej i lewej krawędzi elementu nadrzędnego, ustaw właściwość Anchor na Top, po lewej kontrolka nigdy nie zmieni rozmiaru, zawsze pozostanie względnie ustawiona na 8,8.


0 dla odpowiedzi № 7

Kliknij tab 1 lub tab 2 Następnie z boku w Property Tab Spójrz na Dock własność. Następnie wybierz ten pośrodku lub wpisz pełne.

Lub

Możesz poszukać Anchor i wybierz bottom tab, top tag, right tagi left tag.

Mam nadzieję, że to pomogło!