We help IT Professionals succeed at work.

How to Show a window at a certain location

riceman0
riceman0 asked
on
Medium Priority
272 Views
Last Modified: 2008-02-01

Hey, I have a VB.NET form that I am generating as a child window to another VB.NET form.  On startup, I want to make it visible at a certain location (stored in an INI file).  So I get the x,y from the INI file, and run the following code:

m_ChildWindow(c).MdiParent = Me
m_ChildWindow(c).Show()
m_ChildWindow(c).SetBounds(r.X, r.Y, r.Width, r.Height)

the problem is that the user can see the form appear in the default position, then quickly move over to the desired position.  To get rid of this flicker, I tried to reverse the Show and SetBounds commands, but then the Show seems to cancel the position I set it to.  Is there any way to have a form appear where I want it to, w/o moving it after it has appeared?
Comment
Watch Question

Commented:
y dont u set the form transparent then show,set bounds and then get it back to its normal background....u could use the opacity from 0 to 100
I normally use .Left and .Top to set the windows position. Dont know the pros and cons between the two methods, but I've never had any problems with it flicking between positions.

You can use .show after setting the position also.

Try using this method and let me know how you get on...
Commented:
Initial window position should be set in the Load event handler in the form itself. Pass desired window coordinates to the child window using method or property, and use these valies in the Load event handler.

m_ChildWindow(c).MdiParent = Me
m_ChildWindow(c).SetDesiredPosition(r.X, r.Y, r.Width, r.Height)   ' SetDesiredPosition  is your function which keeps position to use it in Form_Load
m_ChildWindow(c).Show()

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
or make it invisible then visible after positioning.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.