VB 自动调整控件位置的代码,请多点解释。 _Resize() 不会用,最好是完整的代码,让我研究一下

或者发给我个做好的程序,附带源码的。1-2个控件有分追加343403737@qq.com... 或者发给我个做好的程序,附带源码的。1-2个控件
有分追加
343403737@qq.com
展开
 我来答
damyzl
2012-06-26 · TA获得超过1586个赞
知道大有可为答主
回答量:1475
采纳率:74%
帮助的人:901万
展开全部
自动调整知道一下几点就没问题了:
一、控件的位置是由控件的左上角指定的,即Left和Top属性。调整位置只要修改这两个属性就可以了。当然用Move方法可以一步到位,在移动的同时调整大小。
二、位置的计算用到容器的尺寸时通常使用有Scale开头的高度宽度,因为这些属性是指容器内实际可用的空间(不包括边框厚度,标题栏等等)。比如你要将一个图片(在图片框pic1中)总是显示在窗体的中间,可以这么写:
pic1.Left = (Me.ScaleWidth - pic1.Width) / 2
pic1.Top = (Me.ScaleHeight - pic1.Height) / 2
三、一些特殊情况。比如设置控件的大小在最小化时就可能会有错误,因为计算出来的是负数。可以在前面加上最小尺寸的限制:
if Me.ScaleWidth > 300 Then Text1.Width = (Me.ScaleWidth - pic1.Width) / 3
即当窗体尺寸小于300(调整后的文本框宽度100)时,将不做调整。

Resize 事件是在尺寸变化后触发的,所以在事件里面的尺寸就是变化后的尺寸。对于最小化的窗体,它的宽高都是0.。
daviddyn
2012-06-25 · TA获得超过556个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:160万
展开全部
至于现成的,如果你的VB比较完整的话,会自带web浏览器,方法是选择添加窗体,选择"web"浏览器,这个窗体里就有现成的Resize事件,可供你研究。下面我简单说一下
当窗体的大小发生改变时,会触发Resize事件。包括用户使用鼠标托拉窗体的边缘(当然你窗体的BorderStyle属性应该是2-Sizable),最大化,以及通过代码改变窗体的Height、Width属性等,都会触发这个事件。这个事件主要用途就是让控件的位置或大小随窗体而改变,所以这里你需用代码来重新定义各个控件的大小或位置属性。如,让Command1使终保持在窗体的右下方,Text1始终伸到窗体最右面
Private Sub Form_Resize()
Command1.Left = Me.ScaleWidth - 840
Command1.Top = Me.Top - 480
Text1.Width = Me.ScaleWidth - Text1.Left - 120
End Sub
希望能帮到你,不懂可以追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柏冠e
2012-06-26 · TA获得超过1425个赞
知道小有建树答主
回答量:840
采纳率:41%
帮助的人:236万
展开全部
Resize在使用的时候要注意WindowState属性,当为1,也就是最小化时,不能调用resize.一般会在这时候设置如放大文本框之类的功能,如果最小化时,不判断就设置文本框的大小,就会出错.只要注意这个,其它的都好办了.给你段代码,是文本框随窗口一起变化的,text1设MultiLine为true,scrollbars为both就能看到效果了

Private Sub Form_Resize()
If Me.WindowState <> 1 Then
With Text1
.Top = 0
.Left = 0
.Height = Me.Height - 520
.Width = Me.Width - 120
End With
End If
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式