Solved

VB.net FlowLayoutPanel - centering  controls

Posted on 2007-04-10
7
2,451 Views
Last Modified: 2008-01-09
I've got a FlowLayoutPanel to which custom controls are added as the application runs.

Can the controls be arranged so they are CENTRED on the FlowLayoutPanel (just now they're left aligned)  - centring the controls would look better

Thanks
0
Comment
Question by:rwallacej
  • 4
7 Comments
 
LVL 24

Expert Comment

by:Jeff Certain
ID: 18885703
My initial reaction is "no"

The whole point of the flow layout is to just start laying out controls from left to right until you're done.

What you may be able to do is resize the layout panel and position it such that it appears that you've achieved centering.
0
 
LVL 18

Expert Comment

by:Priest04
ID: 18886363
Of the head, it could be done, with Padding property. If controls are of  same size, then you know how many are located in one line. Free space on the right side is easy to calculate, and you need to divide it by 2 and set such value for Panel.Padding.Left property

However, if size of controls is not the same, then my first guess is that you would be needing to loop through all controls, watch for their Location.Y property, when its the same, it means controls are on the same line. When you come to the last control

Panel.Size.Width-LastControl.Location.x-LastControl.Size.Width=FreeSpaceOnTheRightSide

the rest should be as mentioned above

Maybe it  looks confusing, but I dont think there is another way. :)
0
 
LVL 18

Accepted Solution

by:
Priest04 earned 500 total points
ID: 18886388
one correction: in the 2nd example, where controls are not of same size, you need to set FirstControlInLine.Margin.Left, not Panel.Padding.Left, since not all lines will have the same free space on the right side

Goran
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 18

Expert Comment

by:Priest04
ID: 19264795
I don't know why rwallacej hasn't responded, but I am positive that my solution works (have tested it and it works).

Goran
0
 

Author Comment

by:rwallacej
ID: 19264885
thanks for feedback
0
 
LVL 18

Expert Comment

by:Priest04
ID: 19268050
you are welcome
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Latency in .net app using DB in .net 21 65
How useful is the free version of Selenium? 3 34
C# bracket error 3 30
C# LINQ ForEach() question 6 28
This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

770 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