TableLayoutPanel和调整大小/位置

时间:2017-04-25 19:01:11

标签: .net vb.net

我在其他TableLayoutPanels中的TableLayoutPanels中有一个带有多个控件(richtextboxes和按钮)的应用程序。

点击一个按钮,我需要在最顶层的TableLayoutPanel中的richtextbox扩展到我的应用程序的底部。

我想到了两种可能实现这个目标的方法:

  • 我需要将所有其他TableLayoutPanel的大小调整为1px或非常小的高度,无论其控件如何,然后将应用程序顶部的TableLayoutPanel拉伸到底部。
    • 我尝试了TableLayoutPanel1.RowStyles(0).Height = 1但没有任何反应。
  • 在这些TableLayoutPanel之外创建一个richtextbox,然后将它移到我应用程序顶部的TableLayoutPanel的richtextbox之上,然后调整它以到达页面底部。
    • 问题:我试过rtbTextBox1.location = rtbTextBox2.location但它无效。我怀疑它是行不通的,因为rtbTextBox2.location在TableLayoutPanel中,抛弃了实际位置。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了你的问题,但我试着给出一个相同的答案。

假设我们有一个外部的TableLayoutPanel(tlpOuter),有2行2列。在其左上角的单元格中,它包含另一个TableLayoutPanel(tlpInner),包含2行和2列。 tlpInner在其左上角的单元格中包含一个RichTextBox(rtbMain)。 tlpOuter的大小为(800,500)。

试试这个

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