单击"最大化"按钮后,如何重绘表单?

pha*_*han 3 forms vb6 controls maximize

在VB6中,我创建了一个包含一些文本框,列表框和命令按钮的表单.我使用类似的东西设置所有这些控件的XY位置

control2.Top = form.Height * 0.50   'sets the Y-position
control2.Left = form.Width * 0.35   'sets the X-position

control3.Top = form.Height * 0.50
control3.Left = form.Width * 0.45
Run Code Online (Sandbox Code Playgroud)

但是,当我点击我的应用程序的"最大化"按钮时,所有控件都停留在同一个位置,但是向窗体的左上角移动了一点.在此期间,单击"最大化"还会在表单的右下角创建大量空白区域.

如何使其单击最大化按钮(看起来像右上角的空方块)通知我的程序form.Height和form.Weight已更改并且所有内容都需要重绘?

或者,是否还有另一种方法可以消除所有控件向左上角的移动,并消除向右下角创建新的空白区域?在此先感谢您的帮助.

Mar*_*tin 9

您的表单有一个名为"调整大小"的事件.每次表单调整大小时都会触发该事件.

Private Sub Form_Resize()
    'Insert your code here
End Sub
Run Code Online (Sandbox Code Playgroud)

  • 确保在调整代码大小之前检查Me.WindowState; 特别是如果Me.WindowState = vbMinimized(如果代码被最小化,通常会跳过代码). (5认同)