VB怎么让窗口改变大小时控件也按比例改变大小?

窗口最大化或拖动改变大小时里面的控件不会跟着改变大小,要怎样才能让控件也改变大小呢?

可以用窗体的Resize事件来实现,改变窗体大小时,控件大小跟窗体成比例,不过如果最小化的时候就会出错,所以还得把最小化的事件给去了,代码如下:
Private Sub Form_Resize()
If Me.WindowState <> 1 Then '如果不是最小化
Command1.Width = Me.Width / 5 '按钮宽度是窗体的1/5
Command1.Height = Me.Height / 5 '按钮高度是窗体的1/5
End If
End Sub
参数可以自己设定,其它的也是如此,细节还得自己弄了,如果想让控件居中可以这样:
Private Sub Form_Resize()
If Me.WindowState <> 1 Then '如果不是最小化
Command1.Width = Me.Width / 5 '按钮宽度是窗体的1/5
Command1.Height = Me.Height / 5 '按钮高度是窗体的1/5
Command1.Left = (Me.Width - Command1.Width) / 2 '按钮左边
Command1.Top = (Me.Height - Command1.Height) / 2 '按钮顶边
End If
End Sub
这样就可以随窗体改变而改变了。
温馨提示:内容为网友见解,仅供参考
无其他回答

VB怎么让窗口改变大小时控件也按比例改变大小?
可以用窗体的Resize事件来实现,改变窗体大小时,控件大小跟窗体成比例,不过如果最小化的时候就会出错,所以还得把最小化的事件给去了,代码如下:\\x0d\\x0aPrivate Sub Form_Resize()\\x0d\\x0aIf Me.WindowState 1 Then '如果不是最小化\\x0d\\x0aCommand1.Width = Me.Width \/ 5 '按钮宽...

VB 中如何使控件位置和大小自动适应窗体变化?
1. 在窗体上添加一个框架控件。2. 将需要自动适应窗体变化的控件(如按钮)拖放到框架内。3. 调整框架的大小和位置。当窗体大小变化时,框架内的控件也将自动调整大小和位置,从而实现随窗体变化的自适应。使用框架控件能简化控件布局的调整工作,提高代码的可维护性和灵活性。通过将控件放入框架内,只...

VB 控件大小随窗体改变而改变
ScaleY = FormName.ScaleHeight \/ FormOldHeight '保存窗体高度缩放比例 On Error Resume Next For Each Obj In FormName StartPos = 1 For i = 0 To 4 '读取控件的原始位置与大小 TempPos = InStr(StartPos, Obj.Tag, "...

在VB中,如果窗体改变大小,控件也跟着改变,代码该怎么写?
'只要设置它的长和宽跟窗体形成关系就行了(在click、 mouseup ...事件里都可以。下面是在mousemove事件里写的,就是说鼠标移到窗体内就会发生改变。)下面是代码:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label1.BorderStyle = 1 '它的边框要...

vb6.0怎么让窗体里的控件随着窗体的变化而改变大小?
'窗口大小发生改变时 Private Sub Form_Resize()On Error Resume Next '最小大小,防止比例失调 If Me.Width < 4800 Then Me.Width = 4800 If Me.Height < 3600 Then Me.Height = 3600 Dim cu As Control For Each cu In Me.Controls '调整大小 cu.Move cu.Left * Me.Width \/ OldW, cu...

vb如何让控件随显示器的变大而增大
vb.net 设定好控件的边距(Anchor属性)就可以随窗口的大小改变大小了。VB6 必须得自己计算了,通过代码修改长宽属性进行变化。

vb语言中怎么使窗体和窗体里的控件同时放大缩小?
思路在form1的load和resize里设置每个控件的长宽,都用form1的长宽表示,比如command1.width=1\/20*me.width 这样当当窗体宽度改变后按钮的宽度始终是它的1\/20高度类同

VB 中如何使控件位置和大小自动适应窗体变化?
可把有关按钮放在一个Frame框架内,这样当窗体改变大小时,不用去改变每个按钮的大小和位置了,只需要改变这个Frame的大小和位置就可以了

vb中调整窗体大小
你可以这样做:思想是这样的,窗体刚打开时用两个变量记住文本框和窗体的大小比例,在改变窗体大小时,根据比例改变文本框的大小。代码如下:在窗体上只有一个textbox控件,text1 Dim h, w As Integer '记录窗体和控件的大小比例 Private Sub Form_Load()h = Form1.Height - Text1.Height w = ...

...控件的长宽跟随窗口form的大小跟随改变大小的代码是怎么编写的?_百 ...
VB6.0中Form中有一个事件叫Resize()的事件,他相当于VB.NET中的SizeChange事件。依据窗体尺寸设置控件大小、位置,这就是分辨率思想。VB6.0例子:Private Sub Form1_ ReSize(){ Button1.Left=Int(Me.Width*0.1)'\/\/左边距窗体的10% Button1.Width=100 Button1.Top=Int(Me.Height*0.0...

相似回答