Center Your Forms

Center Your Forms

Add a method in VB 4.0 to center your forms against the screen or aparent form. Create a new project with two forms. Add this code to Form2:

 Public Sub ShowCentered(Optional vParent, _	Optional vShowMode)Dim oParent As ObjectDim iMode%, iLeft%, iTop%	If IsMissing(vParent) Then 'default is Screen object		Set oParent = Screen	ElseIf TypeOf vParent Is Screen Or _		TypeOf vParent Is Form Then		Set oParent = vParent 		'can add MDIForm to this condition	Else		Exit Sub	End If	If IsMissing(vShowMode) Then iMode = vbModeless Else _		iMode = Abs(vShowMode) Mod 2	'default is Modeless	If TypeOf oParent Is Form Then iLeft = oParent.Left: _		iTop = oParent.Top	'cannot use Left and Top for Screen	Move iLeft + (oParent.Width - Width) / 2, _		iTop + (oParent.Height - Height) / 2	Show iModeEnd Sub

Put this code in Form1’s Form_Load event:

 ShowForm2.ShowCentered Me, vbModal


Share the Post: