大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
以下代码测试成功,图片大小和位置改变后,标签控件依然在这个点上。
创新互联公司2013年开创至今,先为蠡县等服务建站,蠡县等地企业,进行企业商务咨询服务。为蠡县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
Dim px, py, lx, ly As Integer
Private Sub PictureBox1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Resize
If px 0 And py 0 Then
Label1.Location = New Point(PictureBox1.Size.Width / px * lx, PictureBox1.Size.Height / py * ly)
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
px = PictureBox1.Size.Width
py = PictureBox1.Size.Height
lx = Label1.Location.X
ly = Label1.Location.Y
End Sub
Public Class Form1
Dim 初始化控件自动大小调整与窗口的宽度比例 As Integer
Dim 初始化控件自动大小调整与窗口的高度比例 As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
初始化控件自动大小调整与窗口的宽度比例 = Me.Width / 控件自动大小调整.Width
初始化控件自动大小调整与窗口的高度比例 = Me.Height / 控件自动大小调整.Height
显示控件的位置坐标()
End Sub
Private Sub Form1_ResizeEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeEnd
' Form1_ResizeEnd 这个事件是 窗口大小变化完成后 再进行操作的
控件自动大小调整.Location = New Point(控件自动大小调整.Left, 控件自动大小调整.Top)
'设置控件的初始左位置坐标 与 上位置坐标
控件自动大小调整.Size = New Point(Int(Me.Width / 初始化控件自动大小调整与窗口的宽度比例), Int(Me.Height / 初始化控件自动大小调整与窗口的高度比例))
'更改控件的大小 按第一次窗口的比例 进行调整
显示控件的位置坐标()
End Sub
Private Sub 显示控件的位置坐标()
Label1.Text = "控件的上边距坐标: " 控件自动大小调整.Top
Label2.Text = "控件的左边距坐标: " 控件自动大小调整.Left
Label3.Text = "控件的宽度大小: " 控件自动大小调整.Width
Label4.Text = "控件的高度大小: " 控件自动大小调整.Height
End Sub
End Class
还有好多方法 慢慢研究吧兄弟 希望能帮到你
可以用窗体的Resize事件来实现,改变窗体大小时,控件大小跟窗体成比例,不过如果最小化的时候就会出错,所以还得把最小化的事件给去了,代码如下:\x0d\x0aPrivate Sub Form_Resize()\x0d\x0aIf Me.WindowState 1 Then '如果不是最小化\x0d\x0aCommand1.Width = Me.Width / 5 '按钮宽度是窗体的1/5\x0d\x0aCommand1.Height = Me.Height / 5 '按钮高度是窗体的1/5\x0d\x0aEnd If\x0d\x0aEnd Sub\x0d\x0a参数可以自己设定,其它的也是如此,细节还得自己弄了,如果想让控件居中可以这样:\x0d\x0aPrivate Sub Form_Resize()\x0d\x0aIf Me.WindowState 1 Then '如果不是最小化\x0d\x0aCommand1.Width = Me.Width / 5 '按钮宽度是窗体的1/5\x0d\x0aCommand1.Height = Me.Height / 5 '按钮高度是窗体的1/5\x0d\x0aCommand1.Left = (Me.Width - Command1.Width) / 2 '按钮左边\x0d\x0aCommand1.Top = (Me.Height - Command1.Height) / 2 '按钮顶边\x0d\x0aEnd If\x0d\x0aEnd Sub\x0d\x0a这样就可以随窗体改变而改变了。
先在Form_Load中记录控件的相对位置及大小比例,然后在Form_Resize中按比例设置控件的位置及大小即可:
Dim ll As Single, tt As Single, ww As Single, hh As Single
Private Sub Form_Load()
ll = Text1.Left / Me.ScaleWidth
tt = Text1.Top / Me.ScaleHeight
ww = Text1.Width / Me.ScaleWidth
hh = Text1.Height / Me.ScaleHeight
End Sub
Private Sub Form_Resize()
Text1.Left = Me.ScaleWidth * ll
Text1.Top = Me.ScaleHeight * tt
Text1.Width = Me.ScaleWidth * ww
Text1.Height = Me.ScaleHeight * hh
End Sub
如果控件比较多的话,就要用数组了。