16,722
社区成员




Public Class Form1
Dim labsize As Single
Dim formsize As Size
Private Sub Form1_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
Dim hc = Me.Height / formsize.Height
Dim wc = Me.Width / formsize.Width
Dim p As Double
' If hc < wc Then
p = labsize * hc
' Else
' p = labsize * wc
' End If
Dim font As New Font(Label1.Font.Name, CSng(p), GraphicsUnit.Point)
Label1.Font = font
Label1.Location = New Point((Me.ClientSize.Width - Label1.Width) \ 2, (Me.ClientSize.Height - Label1.Height) \ 2)
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
formsize = Me.Size
labsize = Label1.Font.Size
End Sub
End Class
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.AutoSize = True
Size_Changed(sender, e)
'这一句可以不要
'AddHandler Label1.FontChanged, AddressOf Size_Changed
AddHandler Label1.SizeChanged, AddressOf Size_Changed
AddHandler Label1.TextChanged, AddressOf Size_Changed
AddHandler Me.SizeChanged, AddressOf Size_Changed
End Sub
Private Sub Size_Changed(sender As Object, e As EventArgs)
Label1.Location = New Drawing.Point((Me.Width - Label1.Width) / 2, (Me.Height - Label1.Height) / 2)
End Sub
End Class