我需要以视觉基本形式制作一张动态图片(直升机),每次我按0时返回到着陆垫标签上方的位置,但要考虑到表格的大小。 我尝试将位置设置到该位置,但如果用户最大化窗口,则x和y坐标会发生变化,我不知道如何对其进行编码,使其返回到着陆位置并将其调整到窗体位置。 谢谢你的帮助
答案 0 :(得分:-1)
假设您的直升机是PictureBox
,而您希望它位于底部的中间位置:
Dim clientSize = Me.ClientSize
Dim x = (clientSize.Width - PictureBox1.Width) \ 2
Dim y = clientSize.Height - PictureBox1.Height
PictureBox1.Location = New Point(x, y)
答案 1 :(得分:-1)
基本上,您只需要执行以下操作:
Public Sub CallMeWhenTheyPressZero()
Dim dCenterX As Double = Form1.Size.Width/2
Dim iBottomY As Integer = 10 ' I am going to assume this never changes. (Bottom bar never resizes vertically.)
Dim dHalfCopterX As Double = CopterPictureBox.Size.Width/2
Dim iLeftDifference As Integer = System.Math.Round(dCenterX-dHalfCopterY)
' Do the center
CopterPictureBox.Left = iLeftDifference
CopterPictureBox.Bottom = iBottomY
End Sub
自从我在VB.net中编写代码已经有很长一段时间了,所以如果有任何错误我会道歉。但是,基本思想才是重要的。