VB 中如何使控件位置和大小自动适应窗体变化?

如题,窗体上有很多控件,如文本框,图片框,按钮等,当窗体大小改变时,如何使文本框,图片框大小保持适当比例变化,而按钮的大小不变,相对位置不变呢?在网上看了一些代码,都是控件大小随窗体大小变化,而按钮变大了很难看。
当控件比较多时(有十几个),在窗体resize事件中一一设置大小变化比例,显然太麻烦了,请教高手,有什么好的方法吗?网上找的代码就免了。

要求:列表框(list1)、播放窗口(playwindow)、进度条(vs)的大小自动适应窗体变化,而所有的按钮大小和相对位置不变。

可把有关按钮放在一个Frame框架内,这样当窗体改变大小时,不用去改变每个按钮的大小和位置了,只需要改变这个Frame的大小和位置就可以了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-07
用Top,Left,Width,Height的值加加减减就可以完成的!

例如在form中添加一个command按钮,

Private Sub Form_Resize()
On Error Resume Next
Command1.Top = Me.Height - Command1.Height - “固定值”
Command1.Left = Me.Width / 2 - Command1.Width / 2
End Sub
第2个回答  2009-07-07
这得改变控件的位置和长宽比例。。很麻烦。
第3个回答  2009-07-07
刚发现这个东西很重要,我去做做
第4个回答  2009-07-07
呃。。。学习了!!!把max属性设为false也是权宜之计啊!o(∩_∩)o...哈哈
第5个回答  2009-07-10
看看我的空间就知道了!

VB 中如何使控件位置和大小自动适应窗体变化?
在VB编程中,若想使控件位置和大小自动适应窗体变化,可以将控件放入一个框架(Frame)中。框架(Frame)是一个容器控件,用于组织和管理其他控件的布局。当窗体大小发生变化时,若将按钮等控件放入框架内,则无需单独调整每个控件的大小和位置。只需调整框架自身的大小和位置即可实现控件随窗体变化自适应。...

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

VB窗体控件自动适应窗体大小
Sub Form_Resize()If Me.WindowState <> 1 Then '必须排除最小化的状态 If fist_re = False Then '窗体初始化只记录窗体大小 f_size(0) = Me.Height: f_size(1) = Me.Width fist_re = True Else '否则开始适应屏幕变化 For Each a In Form1.Controls On Error Resu...

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

VB6中让窗体上的控件随窗体的放大而自动适应?
说明在Form_Resize事件里有改变控件位置的代码,很明显,这些代码没有正常工作。

VB中怎么让webbrowser控件跟着窗口变化来改变大小?
跟随窗体变化大小要在resize事件中,举例说明 Private Sub Form_Resize()WebBrowser1.Move 10, 10, Me.ScaleWidth - 20, Me.ScaleHeight - 20 End Sub

VB 自动调整控件位置的代码,请多点解释。 _Resize() 不会用,最好是完 ...
自动调整知道一下几点就没问题了:一、控件的位置是由控件的左上角指定的,即Left和Top属性。调整位置只要修改这两个属性就可以了。当然用Move方法可以一步到位,在移动的同时调整大小。二、位置的计算用到容器的尺寸时通常使用有Scale开头的高度宽度,因为这些属性是指容器内实际可用的空间(不包括边框...

vb.net 怎样将窗体和所有控件根据电脑分辨率固定?
这个事件是 窗口大小变化完成后 再进行操作的 控件自动大小调整.Location = New Point(控件自动大小调整.Left, 控件自动大小调整.Top) '设置控件的初始左位置坐标 与 上位置坐标 控件自动大小调整.Size = New Point(Int(Me.Width \/ 初始化控件自动大小调整与窗口的宽度比例), Int(Me.Hei...

VB中怎样使两个控件的大小一样?
步骤如下:1.将下图中两个textbox控件尺寸变为一样 2.选中text1,按下Ctrl,再选择text2,使两者同时被选中 3.选择“格式”,“统一尺寸”,“两者都一致”4.就看到两个文本框,大小一致了。

相似回答