/ / TableLayoutPanel i zmiana rozmiaru / Lokalizacja - .net, vb.net

TableLayoutPanel and Resizing / Location - .net, vb.net

Mam aplikację z kilkoma kontrolkami (richtextboxboxes i buttons) w TableLayoutPanels w innych TableLayoutPanels.

Za pomocą kliknięcia przycisku potrzebuję richtextbox w najwyższym TableLayoutPanel, aby rozszerzyć się na dół mojej aplikacji.

Zastanawiałem się nad dwoma sposobami osiągnięcia tego:

  • Potrzebuję wszystkich innych rozmiarów TableLayoutPanelsdo wysokości 1 piksela lub czegoś bardzo małego bez względu na ich kontrolki, a następnie rozciągnięcie TableLayoutPanel u góry mojej aplikacji na dół.
    • Próbowałem TableLayoutPanel1.RowStyles (0) .Height = 1, ale nic się nie dzieje.
  • Tworzenie richtextbox poza tymiTableLayoutPanels, a następnie przenoszenie go na wierzchu richtextbox dla TableLayoutPanel u góry mojej aplikacji, a następnie zmiana rozmiaru, aby dotrzeć do dolnej części strony.
    • Problem: Próbowałem rtbTextBox1.location = rtbTextBox2.location, ale nie działa. Podejrzewam, że nie zadziała, ponieważ rtbTextBox2.location znajduje się w TableLayoutPanel, zrzucając rzeczywistą pozycję.

Czy ktoś ma jakieś pomysły?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie jestem pewien, czy właściwie zadałam ci pytanie, ale staram się odpowiedzieć tak samo.

Powiedzmy, że mamy zewnętrzny TableLayoutPanel(tlpOuter), z 2 rzędami i 2 kolumnami. W jego górnej lewej komórce znajduje się kolejny TableLayoutPanel (tlpInner), z 2 wierszami i 2 kolumnami. tlpInner zawiera RichTextBox (rtbMain) w swojej górnej lewej komórce. tlpOuter ma rozmiar (800,500).

Spróbuj tego

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

tlpOuter.ColumnStyles(0).SizeType = SizeType.Absolute
tlpOuter.ColumnStyles(0).Width = 800
tlpOuter.RowStyles(0).SizeType = SizeType.Absolute
tlpOuter.RowStyles(0).Height = 500

tlpInner.Size = New Size(800, 500)

tlpInner.ColumnStyles(0).SizeType = SizeType.Absolute
tlpInner.ColumnStyles(0).Width = 800
tlpInner.RowStyles(0).SizeType = SizeType.Absolute
tlpInner.RowStyles(0).Height = 500

rtbMain.Size = New Size(800, 500)

End Sub