.net – Right-aligned labels in WinForms

labelnetwinforms

The most obvious way to right-align a Label in WinForms doesn't work: setting anchor to Top/Bottom Right and TextAlign to TopRight. If the text changes the label's Left coordinate remains unchanged instead of the Right coordinate (which, one might argue, is a bug).

For this reason I've always used a full-width TableLayoutPanel for right-aligned labels. However this is not always very convenient, depending on the layout in question…

So, I wonder if there are any other ways to keep a Label right-aligned in WinForms that never occurred to me?

Best Answer

One simple option is to disable AutoSize (set to false) and over-size it so there is spare space.

Alternatively, perhaps use Dock instead of just Anchor, although this has a different meaning, so you may need to put it in a Panel or similar). Ultimately this works like the first - by over-sizing it in the first place; so perhaps the first option is simpler.

Related Topic