hola los labels no tienen la propiedad de centrar texto verticalmente, hay otras alternativas
una es centrarlo dentro de un picturebox
Private Sub Form_Load()
With Label1
.AutoSize = True
.Alignment = vbCenter
.Caption = "un chanchito se comio un zapallo" & vbCrLf & "el boludo se atraganto"
.Move (Picture1.ScaleWidth / 2) - (.Width / 2), (Picture1.ScaleHeight / 2) - (.Height / 2)
End With
End Sub
otra podes utilizar las apis de windows y pintar un texto dentro del picturebox
(si es no multilinea)
Option Explicit
Private Declare Function DrawText Lib "user32.dll" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, ByRef lpRect As RECT, ByVal wFormat As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Const DT_CENTER As Long = &H1
Private Const DT_VCENTER As Long = &H4
Private Const DT_MULTILINE As Long = (&H1)
Private Const DT_SINGLELINE As Long = &H20
Private Const DT_CALCRECT As Long = &H400
Private Sub Form_Load()
Dim Rec As RECT
With Picture1
.AutoRedraw = True
Rec.Right = .ScaleWidth / Screen.TwipsPerPixelX
Rec.Bottom = .ScaleHeight / Screen.TwipsPerPixelY
DrawText .hdc, "un chanchito se comio un zapallo", -1, Rec, DT_CENTER Or DT_VCENTER Or DT_SINGLELINE
.Refresh
End With
End Sub