Solved

VB.Net - subsequent form's Center Parent not good enough

Posted on 2007-12-05
7
904 Views
Last Modified: 2012-06-21
I've got a popup form, show dialog, set to center parent.
Any easy way to move it up a notch or two (vertically)?

I like the positioning except that it's hanging over some text on the parent form, that I'd rather avoid hiding...
0
Comment
Question by:sirbounty
  • 3
  • 3
7 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 20412970
The StartPosition is only a place to start when the form is first show.  If you want to move the form after it is shown, you can do that.  You will get a little jump, though, as the form is moved.  In order to keep from jumping, you could handle centering the child on the parent with your own code.

Bob
0
 
LVL 18

Accepted Solution

by:
jcoehoorn earned 75 total points
ID: 20412982
You can use manual, and set the form's left and top properties accordingly.  However, I think those properties work relative to the screen (I could be wrong in cases where you set the form's owner, I'd have to check that again to remember for sure), so you may need to use the parent form's PointToScreen() method to get your position set correctly relative to that form.
0
 
LVL 67

Author Comment

by:sirbounty
ID: 20413089
I was thinking that I would have to do some calculations with the parent form's position, but wasn't sure if that was different with .Net....
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 96

Assisted Solution

by:Bob Learned
Bob Learned earned 125 total points
ID: 20413116
It is pretty much the same as with VB6, but you have some different properties for the Form to help you:  DisplayRectangle, ClientSize, and Bounds.

Bob
0
 
LVL 67

Author Comment

by:sirbounty
ID: 20413538
This seems to do it...does the logic look okay?

       Dim frmCal As New frmCalendar
       frmCal.StartPosition = FormStartPosition.Manual
       frmCal.Left = (Me.Left + (Me.Width / 2)) - frmCal.Width / 2
       frmCal.Top = ((Me.Top + (Me.Height / 2)) - frmCal.Height / 2) - 30 ' Subtract 30 twips to raise the top property of frmCal

And now that I've done it, I still want what I was thinking of adding earlier...some sort of border.  But that's another question.
0
 
LVL 67

Author Comment

by:sirbounty
ID: 20413545
Based on your comments Bob, would it be better to set the bounds, rather than the top/left properties?
0
 
LVL 96

Assisted Solution

by:Bob Learned
Bob Learned earned 125 total points
ID: 20413572
That code looks good.  The Bounds property is good for getting the Top, Left, Width and Height, and probably wouldn't help much here.

Bob
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Modal Popup Extender control 1 38
VB.net and sql server 4 45
vb.net 1 month apart 11 35
VB.net Open video relating to control 2 20
Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

837 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question