所以, 我正在研究VB.NET Wordpad程序。我的程序中间有三个面板,中间面板有一个RichTextBox。这是一张图片:
示例: || || 中间是实际页面[A4] [我的尺寸准确]。当我调试Wordpad程序时它运行得很好,但是当我调整窗口大小/最大化时,侧面板都保持相同的大小,尽管中间面板调整大小但TextBox保留在面板的左侧,应该发生。当TextBox覆盖它时,面板不应该是可见的,但是当它调整大小时,TextBox保持相同的大小,并且中间面板在调整自身大小时可见。右边的面板与面板#1相同,并保持原样和相同的尺寸。
虽然我想知道如何让中间面板保持在中心[调整大小时]而不是调整中间面板的大小,两个侧面板都会调整大小。 而不是|| ||现在|#1 |#2 |#3 |
对不起这些可怕的例子,但希望有人能理解。感谢
答案 0 :(得分:0)
对不起,我误解了你最初的要求,而且锚点对你想做的事情不起作用。
这是我能想到的最好的,并使用表格调整大小事件。它假设面板1和3的宽度相等,宽度是从表格宽度减去面板2的宽度得出的。
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
' set panel 1 width
Panel1.Width = (ClientSize.Width - Panel2.Width) / 2
' position panel 2 next to panel 1
Panel2.Left = Panel1.Left + Panel1.Width
' position panel 3 next to panel 2
Panel3.Left = Panel2.Left + Panel2.Width
' set panel 3 width
Panel3.Width = (ClientSize.Width - Panel2.Width) / 2
End Sub
如果您希望面板1和面板3的尺寸不同,或者您希望面板和/或表格边界之间有间距,则可以轻松地使用此功能,但它会为您提供一个良好的起点。