Controlling Label placement on form when "Bold" is turned on?

Functionality exists in my application that allows users to control the look of the application, i.e. Font Color, Font Bold, etc.

The problem that I'm having is that in normal mode, everything is aligned looks fine, however, when I turn on the "Bold" property for all Labels, they become misaligned. Is there a way to prevent this so that they stay in their original positions?

I've tried setting the AutoSize property to False and giving them set size values based on the largest one. I've used the TextAlign property as well to make them RightCenter justified. None of this seems to work.

Thanks!
BlakeMcKennaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

rspahitzCommented:
Is this a web application or desktop?  For desktop, you have a lot more control, but you still have the classic problem of how to display things that have unpredictable sizes.
Often the answer is to ensure that as label sizes change, the adjacent related fields size accordingly. e.g. if a label size changes from 100 to 125, the an adjacent text box show move 25 to the right, which may cause something else to *its* right to have to move, etc.
Have you tried turning off the Anchor property (set to none)?
0
BlakeMcKennaAuthor Commented:
This is a Windows App. I tried setting the Anchor property to None and that didn't have any affect.
0
rspahitzCommented:
After Anchor is set to None, all of those fields will "float" around as the form is resized...that's probably not directly going to fix your problem, but could if the window is enlarged to allow the expanded bold text to show more.

The next step would be to add some code to the SizeChanged event (I think that's the name) for each label and maybe additional controls. In there you would add something like: TextBox1.Left = Label1.Left + Label1.Width + 25' 25=padding

Again, you may have to apply other shifts, which could be things like textbox LocationChanged
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

BlakeMcKennaAuthor Commented:
Is there a known formula and/or routine for Resizing controls when the Form size changes?
0
rspahitzCommented:
The closest is the Anchor property, but that has limited use.  If you turn off all sides, the control "floats".  If you anchor it on two opposite side (e.g. left and right) then the control resizes.
The biggest problem is that these do not interact very well with other components so you have to do the additional work yourself.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BlakeMcKennaAuthor Commented:
I'll try and play around with it...
0
BlakeMcKennaAuthor Commented:
I never got this to work so I'm not sure whether to delete the question or not!
0
rspahitzCommented:
Try setting the label's AutoSize = true then look use the AutoSizeChanged event to shift the text box, something like this:

TextBox1.Left = Label1.Right + 10 '(10=padding)

That might get you going so that the text box moves based on the width of the label, so if the label-bold changes the width, the textbox will move. However, understand that sometimes this can get annoying to uses so if may not be the optimal solution to this problem. You may want to allow your users to do their own version of an IDE (with field drag-and-drop), which will be a lot of work.
0
BlakeMcKennaAuthor Commented:
I may need to rethink this functionality altogether! You did get me thinking though of some possible resolutions.
0
rspahitzCommented:
Great!  This is definitely not a straightforward issue.  Good luck in finding the best solution for your users.
0
BlakeMcKennaAuthor Commented:
Thank you rspahitz!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.