我试图弄清楚如何制作这些小部件,在我的情况下,两个Rich Text框小部件保持固定在适当位置,以便我可以调整它们所在的形式,而不是丢失它的间距。这里有一些屏幕上限,以更好地显示我在说什么。
以上是我在运行它之前在Visual Studio中看起来的形式。这也是我希望我的表单看起来的样子。我希望保留两个富文本框之间的空格。
以上是我运行此程序时发生的情况。我的问题是如何设置说“锚点”或类似的东西来保持小部件到位,这样当我调整窗体大小时它将保留间距。换句话说,当我运行程序时,它看起来与第一张图像中的相同。
完整的代码:(我不确定是否有这个会有所帮助,但这里有我的意思)
Public Class Form1
'Decloration
Private widthOffset As Integer = 30
Private heightOffset As Integer = 30
Private preWidth As Integer
Private preHeight As Integer
Private postWidth As Integer
Private postHeight As Integer
Private Sub RichTextBox1_Resize(sender As Object, e As EventArgs) Handles RichTextBox1.Resize
RichTextBox1.Width = Me.Width - widthOffset
RichTextBox1.Height = Me.Height - heightOffset
RichTextBox2.Width = Me.Width - widthOffset
RichTextBox2.Height = Me.Height - heightOffset
End Sub
Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
RichTextBox1.Width = Me.Width - widthOffset
RichTextBox1.Height = Me.Height - heightOffset
RichTextBox2.Width = Me.Width - widthOffset
RichTextBox2.Height = Me.Height - heightOffset
End Sub
End Class
在WinForms中,您可以将控件添加到TableLayoutPanel,将每个控件的ColumnStyles设置为Absolute或Percent大小,以便它们保持相同的大小或调整容器大小时的大小。
更多信息:Walkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel
FlowLayoutPanel控件和TableLayoutPanel控件提供了在表单上排列控件的直观方法。两者都提供了一个自动,可配置的功能来控制其中包含的子控件的相对位置,并且都在运行时为您提供动态布局功能,因此它们可以随着父窗体的尺寸更改而调整大小和重新定位子控件。布局面板可以嵌套在布局面板中,以实现复杂的用户界面。