Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
  HOME    TRACKER    Visual Basic

Center Form In Middle Of Screen

I've allowed the user to maximize a form to a certain extent depending on their screen resolution. Basically the form resizes to 80% of there screen size.

However, when after the form has resized, it is thrown to the bottom right of the screen. I'd like it to center if possible but when I try to set the Form1.startuposition = 2 ' CenterScreen ' it gives me an error.

Any ideas?

View Complete Forum Thread with Replies

See Related Forum Messages: Follow the Links Below to View Complete Thread
Form In Middle Of Screen
is there a propert i can set for my form, s that when its run, it can be in the center of the screen?

Center Form On Screen
Hi, I'm having trouble centering a form. When I run the program on my computer, forms are centered perfectly; however, when it is run on another computer with a larger monitor, the forms are not centered. Any suggestions to what I should do? How To Center A Form On Screen.
Hi all,

Im developing a Kiosk type program. The original form, on load, resizes itself to the size of the screen. Inside of the form, I have placed a groupbox in which the questions and answers for users will be displayed.

How can I have this groupbox automatically center itself within the form? I have tried a few snippets of code Ive found online, and have tried some of the properties but nothing seems to affect it's location.

Any thoughts are appreciated..thanks.

To Center A Form In A Screen - Help!!
hi Chaps,

Can someone point 2 me when bringing up a form how it can be centered in the middle of the screen

Thanks a lot


Form Startup (Center Screen)
My program has a splash screen that starts first when the program is started... The splash screen connects to the server over the internet and downloads some updates when it starts... On the form properties, i have the startup position set as 2, which is CenterScreen

In the program there's an option in the options drop down menu to restart the program, well when you restart it.. The splash screen no longer starts in the center of the screen.... Its almost always at the bottom left side of my screen. So in the form_load event i have this code:

frmSplash.left = (Screen.Width / 2) - (frmSplash.Width / 2) = (Screen.Height / 2) - (frmSplash.Height / 2)

But it doesnt seem to do anything at all... Any1 know a fix for this?

Make Form Center On Screen?
And i dont mean when it starts up.

VB Code:
Private Sub mnuViewFileEditorMode_Click()'Size window according to users preference    If mnuViewFileEditorMode.Checked = True Then        mnuViewFileEditorMode.Checked = False        Me.Width = 5730    ElseIf mnuViewFileEditorMode.Checked = False Then        mnuViewFileEditorMode.Checked = True        Me.Width = 11520    End IfEnd Sub

This sizes my form when the menu is clicked, the problem is, sometimes my form is left right at the far left off the screen.

Is there any way to make it go to the center?


How Can You Show A Form In The Center Of The Screen?
anyone know?
(startup position = center screen wont work in this case)

Set The Form To Center Screen After Starup
how do you set the form to center screen when you click on the command button or something? I know how to set it on startup, i want to know how to do it after starup. thanks in advance!

Hi! Brand New :) - Center A Form In Full Screen??
Hello everyone, I have visited this site for many months when I needed some help. I was usually able to find my answer in a search but this one has me stumped. I am very new to VB and I am basically making a checklist program if you will. I have it set up so that it loads full screen, with no Border. The only problem is that when its loaded full screen the buttons, labels, and pictures are nested in the top left corner of the screen. I would like it it so that the buttons and everything moves to the center of the screen keeping their original formation. The reason I want to have this setup like this is because this application will run on an 800x600 and 1024x768 resolution.

Thanks in advance for all the help!

Edited by - kvisconti on 6/14/2004 2:46:24 PM

How To Make Form Appear At Center Screen When In MDI Child Mode...?
How to make form appear at center screen when in MDI Child mode...?

it only can appear at center screen when not MDI child....

Function For Loading MDI Child Form In Center Of Screen
Hi all, I have the code for loading an MDI Child form in the center of the MDI Parent form. It looks like:

Me.Left = (MDIFrmMain.Width - Me.Width - 200) / 2
Me.Top = (MDIFrmMain.Height - Me.Height - 1700) / 2

But as the application I am working on has 35 forms, I want to cut short my coding by just calling a function which would be in a module by passing the name of the form. Could this be possible? Any help would be much appreciated. Cheers

Center All Forms In Screen - No Matter What Resolution Or Size Of Screen?
Hi all,

I would like my app to appear dead centre on the screen, no matter what size of screen or resolution.


How Can Make Center Part Of Form Appear Scroll Bar When Center Element Are Too Many?
How can make center part of form appear scroll bar when center element are too many..??

A Dot In The Middle Of Screen
Hello i have a question

i want to create a program which when u run it puts a small dot or square of a certain color in the middle of the screen
and if i run other apps

it should stay on top whatever i run

someone said i needed to use direct draw but can you give me a hint

i downloaded the direct x 8.1 SDK and i have visual basic 6 with winxp

Overlap Pixel In Middle Of Screen
How exactly would i create an always-on-top program to make a picture appear in the middle of the screen?

Center Screen
how can i display the form in center of the screen during run-time???

Center App On Screen
I have an application that is shelled to from my other app... it is 1 form and has a border style of 1 - fixed single...

when my apps shells to this exe.. i want it to center in the screen... but it opens minimized..

I have the StartupPosition set to center screen...

so i assume i need to use api to put this sucker where i want it.. right???

Maximize In Center Of Screen
Does anyone know if there is a simple way to make maximized forms automatically center the controls? My form looks great centered on the screen but when I hit the maximize button all of my controls are in the upper left area of the screen instead of in the center like I would expect them to be. Is there an easy fix for this?


Center Game Screen
I would like to make it so that the avatar is allways in the center of the screen, not rotating screens, meaning a broader view.

At this point he runs to the edge of the screen then the mapfile scrolls in a new screen.

How can I make this so there is smooth scrolling as he moves.

here is what I have so far.

This is not my work, full credit to

However I do plan to alter this source drastically and use it to pretty much get my foot in the door for my project. And if anyone is wondering, yes this is acceptable. Anyhow. here is what I have(since you allready know what the goal is -see above-)

Private Sub Command2_Click()
DisplayYOffset% = DisplayYOffset% + 1
Call DrawMap

End Sub

Private Sub Command1_Click()

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Call ShowInfo(X, Y)
Exit Sub
End If
Call MoveCharacter(X, Y)
Call MonstersTurn
End Sub

Private Sub Form_Resize()
Dim lRet As Long ' needed for the call
Dim apiRECT As RECT ' needed for the call

If Form1.WindowState = 2 Then ' user "maximized" the form
' get current useful (minus task bar) screen size
lRet = SystemParametersInfo(SPI_GETWORKAREA, vbNull, apiRECT, 0) ' get the info
If lRet Then ' if call was successful
' note the following line is commented out, you can uncomment it to see the screen area displayed in a message box
' MsgBox "WorkAreaLeft: " & apiRECT.Left & ", WorkAreaTop: " & apiRECT.Top & ", WorkAreaWidth: " & apiRECT.Right - apiRECT.Left & ", WorkAreaHeight: " & apiRECT.Bottom - apiRECT.Top, 64, "Information"
MsgBox "Call to SystemParametersInfo failed.", 16, "Problem"
End If

' the screen.TwipsPerPixel parameters are needed because the forms are sized in twips but the screen sizes are returned in pixels
ScreenMaxHeight% = (apiRECT.Bottom - apiRECT.Top) * Screen.TwipsPerPixelX
ScreenMaxWidth% = (apiRECT.Right - apiRECT.Left) * Screen.TwipsPerPixelY

' now actually size the form
Form1.WindowState = 0 ' turn off "maximized" so we can mess with the form
Form1.Left = apiRECT.Left * Screen.TwipsPerPixelX
Form1.Top = apiRECT.Top * Screen.TwipsPerPixelY
Form1.Height = ScreenMaxHeight%
Form1.Width = ScreenMaxWidth%
End If

' this code is run no matter what size the form is now, find out how much we can see now

' step 1 - move/scale the buttons
ButtonXSize = Form1.ScaleWidth / 6
CallOptionsButton.Top = Form1.ScaleHeight - 25
CallOptionsButton.Width = ButtonXSize
CallOptionsButton.Left = ButtonXSize * 5
ShowHeroButton.Top = Form1.ScaleHeight - 25
ShowHeroButton.Width = ButtonXSize
ShowHeroButton.Left = ButtonXSize * 4
PickUpButton.Top = Form1.ScaleHeight - 25
PickUpButton.Width = ButtonXSize
PickUpButton.Left = ButtonXSize * 0

' step 2 - move/scale the text window
List1.Left = 0
List1.Width = Form1.ScaleWidth
List1.Top = Form1.ScaleHeight - 70

' step 3 - draw map in new form size
NoOfXSqrCanSee% = Int(Form1.ScaleWidth / 50)
NoOfYSqrCanSee% = Int((Form1.ScaleHeight - 60) / 50)
Call DrawMap ' draw it!

End Sub

Private Sub Form_Unload(Cancel As Integer)
Call CleanExit
End Sub

Private Sub PickUpButton_Click()
Call PickUpItem
End Sub

Private Sub ShowHeroButton_Click()
Call UpdateHeroForm
HeroDetails.Show 1

End Sub

Private Sub SplashTimer_Timer()
SplashFlag = True
End Sub

I'll be back in about 7 hours from this post to check for replies, need to get some sleep. Thank you in advance if you post, very greatly appriciated.
And if you are wondering, Yes im a newbie. ive had VB in total of 2 days now.
Yes I have spent the last 2 days in 18 hour sessions of VB trying to figure it out.

Im going to bed, starting to ramble.

Center Bottom Of Screen
Can you point me in the right direction? How can I center a windows at the bootom of the screen?

How To Position The VB Exe At The Center Of The Screen Always?
Dear All,

When I double click an VB exe, I want the form EXE should always appear at the center of the screen rather than randomly appear each time when I click the exe to lauch the application.
I 've tried form layout window to position the screen center. But first few times it looks ok, if I close and open the same exe for a couple of times, its postition started moving diagnally down little bit and starting from left top again.

Please advise me for the above issue.


Getting Browse Box To Appear In Center Of Screen

How do I get this browse box to appear in the center of the screen? Anybody?

Function BrowseForFolder(ByVal pstrPrompt, _
ByVal pintBrowseType, _
ByVal pintLocation)
On Error Resume Next

Dim ShellObject As Object
Dim pstrTempFolder As Variant
Dim clngColonPosition As Variant
Const NO_PARENT = &H0

Set ShellObject = CreateObject("Shell.Application")

Set pstrTempFolder = ShellObject.BrowseForFolder(NO_PARENT, pstrPrompt, _
pintBrowseType, pintLocation)

BrowseForFolder = pstrTempFolder.ParentFolder.ParseName( _

If Err.Number <> 0 Then
BrowseForFolder = Null

'--Handles cancel
If Err.Number = 424 Then
Set ShellObject = Nothing
Set pstrTempFolder = Nothing
Exit Function
End If

'--If the user selects a drive, the drive letter is converted to
'--a path by adding a colon and backslash to the drive letter.
clngColonPosition = InStr(1, pstrTempFolder.Title, ":", vbTextCompare)
If clngColonPosition > 0 Then
BrowseForFolder = Mid(pstrTempFolder.Title, (clngColonPosition - 1), 2) & ""

End If

End If

Set ShellObject = Nothing
Set pstrTempFolder = Nothing

End Function

Thank you,

Clearing Screen For Application In Center
I have written an application which I center on the screen. The desktop distracts, however. Is there a (simple) way to "cover up" the desktop? I tried using

Me.Move 0, 0, Screen.Width, Screen.Height

but that messes up my centering (I assume because it just changes the size of the main form).

My guess: I need to add another form on which all my application form are placed and set this new form with the snippet above. Is that right? Or is there a better way?

Finding Screen Center: DirectDraw
How do you find the screen center in DirectDraw Exclusive Mode?

Display Image In Center Of Screen
Hi guys. I have coded in Visual Basic 6 for about 3 or 4 months. That was over a year ago. So I guess you could say I'm rusty.

Anyway, in one of my applications that I am building, I ned to display an image in the center of the screen. Say my application had one form. The user would click command1 (the button) and an image would appear in the center of the screen. The user could minimize or move the form around, but the image would still stay in the same spot, the center of the screen. If you minimize or move the form, the image would still stay in the center of my display and still be visible. In other words, the iamge needs to be "not mounted" or "detached" from my form. Anyway I hope some of you VB gurus can help me out here. I'd appreciate it.

Oh, and by the way, I forgot to mention that the image needs to stay on top of any other application that may be running.

Center Screen - Stupid Problem
Hi All.

I have the monitor of LCD. So when I will use this following code then my form is not on a screen centrally but in a bottom of the right corner of my screen.

VB Code:
Option Explicit   Private Sub CenterForm(pobjForm As Form)            With pobjForm                .Top = (Screen.Height) / 2                .Left = (Screen.Width) / 2           End With End Sub Private Sub Form_Load()CenterForm Me ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  Me.Top = (Screen.Height) / 2 ' here the same'  Me.Left = (Screen.Width) / 2'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''End Sub

How to make it correctly? Thanks in advance

Positioning Forms In Center Of Screen
Hi there,,,,,,I have been looking for a way to have all my forms position in the center of the screen as there is only one open at a time. Whenever I open a new form i set the previous visible= false first. However, my forms bounce all over the screen.

I found code on this thread but it does not compile. At least not in Acc 97.

Center Common Dialog Om Screen
how can i center a common diaglog control on the screen?

theres no "center position on screen" in the properties list box.


Common Dialog In Center Of Screen
How do you show a common dialog in the center of the screen ??

Center Commondialog Control Window On Screen ?
I know this is getting nit-picky, but I'd really like to have the Commondialog control window come up exactly centered on the screen.

Is it possible to control the positioning of this window ?

How To Display Application/program At The Center Of Monitor Screen?

I wrote a program and once I executed the program, it's location was not at the center of the screen. Would anyone pls advise how to display the program at the center of screen?


Is There A Form, That Can Be Put In The Middle Of MDI.Parent And MDI.Child Form?

    In my MDI form programing,I want to a form,that always on the top of the MDI.Parent form,and that always on the back of the MDI.Child forms.What should I do?
    When I put a control,for example a TextBox in the MDI.Parent's from,and I set the dock
"fill".When I open a MDI.Child form,it can't to be seen.When I set MDI.Child form "topmost",the problem is alse!!!

     I think I do need some Help!Thank U!
                                                                                                           From China

Edited by - on 12/17/2003 9:28:54 PM

Menu In The Middle Of The Form
Hello vb6 users,

Normally the menu of vb6 is placed at the top. Is there a object that makes a menu what can be placed for example in the middle of the form?

Nice regards,

Form Pops Up In The Middle
So I made this code, but it isn't working.

VB Code:
Private Sub Form_Load()Dim TopForn2 As IntegerDim LeftForm2 As IntegerTopForm2 = Form2.Top / 2LeftForm2 = Form2.Left / 2Me.Top = TopForm2Me.Left = LeftForm2End Sub

I want it once it is opened (Form1.Show) that it appears in the middle of the for that opened it.

Picture In Middle Of The Form
im using a PictureBox in my form, and i want to keep it in the middle of my form always if this is resized

How To Add Menu In The Middle Of The Vb Form
dear friends,
i need to add a menu item on my media player that i developed in VB 6.0 . i tried to do but the menu is comming to the beginning-left top corner of the can i solve this problem.can plz any one help me.

seoul-south korea

Redraw A Form In The Middle Of A Procedure
I am trying to update a text box (change its color and text) in the middle of a procedure.

However, the box does not update until the procedure is complete.

How can I force the procedure to wait for the text box to redraw before continuing?

In the exemple below, the textbox redraw (flagged with >>>> for reference only) happens only after the timer has run out and the form has been opened.

Call Transfer_AllData_BottleDetail_to_Master
'Update recordset
vvBookmark = rsBottlesTable.Bookmark
rsBottlesTable.Find "Status = 'Admin'"
rsBottlesTable.Bookmark = vvBookmark
'Refresh dgInvGoneView
>>>>frmBottleDetail.txbBottleDetailInstructions.BackColor = vbRed
>>>>frmBottleDetail.txbBottleDetailInstructions = "Saving data..."
start = Timer
Do: Loop Until Timer - start >= 1
frmBottleDetail.txbBottleDetailInstructions = ""


Putting A Picturebox In A Middle Of Form
what are a diference between a scale sizes(for example: scaleheight) and a normal sizes(for example: height)?
i'm trying put a picturebox in a middle of form but is geving me a error and i don't know why, can any one help me?
heres my code:

Picture1.Top = (frmNivel1.Height / 2) - (Picture1.Height / 2)
Picture1.Left = (frmNivel1.Left / 2) - (Picture1.Width / 2)

when i use the code, the picturebox simple desapper(i can't see the picturebox)... can any one help me?


Resize Form - Frame In The Middle
Ok I have a frame that contains my main controls for my form (buttons, labels etc the main interface basically). Now I want it so when the Users resize the form, the frame is always in the middle of the form.

All the apps ive written so far I just set the window to fixed single so I didnt have to bother with this but well i shouldnt dodge this forever :P

So how do I do it ?

How To Center A Child Form To Its Parent Form
Hi guys,
Im having a trouble with parent and child forms. I cant center my child form to its parent. Any help on this one. thanks in advance

How Do I Center A Form On A Page Using Form.PrintForm??
I have tried several things to center a customer form on a printed page using Form.Printform but it always prints all the way to the left. Is there any way to center it?

Center MDI Child Form In MDI Parent Form
I wrote the below code to center the MDI child form in MDI Parent form.


Private Sub Form_Load()
CenterChild frmMain, frmLogin
End Sub

Sub CenterChild(Parent As Form, Child As Form)
Dim iTop As Integer
Dim iLeft As Integer
If Parent.WindowState <> 0 Then Exit Sub
iTop = ((Parent.Height - Child.Height) 2)
iLeft = ((Parent.Width - Child.Width) 2)
Child.Move iLeft, iTop
End Sub

But the Child Form is not in Center Position. (Refer Attachment)

Please guide me to rectify this.

Thanks in advance.

How To Insert A Small Picture/text Line In The Middle Of MDI Form
I want to insert a small picture or a text line in the middle of a MDI form. Can someone suggest me the way?


Form At Center
I need another way to put the form at the center of the screen, other than startupposition.
I need somthing like = (THE CENTER)
me.left=(THE CENTER)

how to find it, think there is the screen command or something?

Center Form
Hi ,

I used this code in centering the form when it loads.

Top = Screen.Height / 2 - Height / 2
Left = Screen.Width / 2 - Width / 2

It works fine in my other forms but in the main form it doesn't and it is pointing to the above code and says it doesn't recognize it. What will i do? In my main form I used tabstrip, ADO controls and textboxes, would that affect it?


Center In Form
Design time :
I select 3 command buttons together,
Format > Center in Form > Horizontally
How to do these steps at Run time ?

Center Form
hi guys! i have a problem on centering the form in MDI, can you please help me?

Center The Form
I believe MartinLiss wrote this but I'm not 100% sure:

Me.Left = (Screen.Width - Me.ScaleWidth) / 2

This centers the form horizontally. So I thought maybe the following would center it vertically:

Me.Top = (Screen.Height - Me.ScaleHeight) / 2

It sort of does but the form is not exactly vertically centered. It seems to be a bit more to the bottom than centered. Any ideas why?

Copyright 2005-08, All rights reserved