Vertically centering text in a label field

M

mondrogan

In a userform, I sometimes prefer using a label instead of a textbox, because the label can't be edited and is automatically gray. Basically I want to use the label field just as if it were a textbox that can't be edited and is always grayed out.

The problem I have is that the caption (font) in the label is not centered vertically in the box. It looks to be aligned at the top, and I can't see any way to change it. Maybe not a big deal, but the letters don't line up with other textboxes on the same line and it makes the userform look bad.

Does anyone know how I can center the label caption vertically within the label field?
 
G

GS

mondrogan laid this down on his screen :
In a userform, I sometimes prefer using a label instead of a textbox, because
the label can't be edited and is automatically gray. Basically I want to use
the label field just as if it were a textbox that can't be edited and is
always grayed out.

The problem I have is that the caption (font) in the label is not centered
vertically in the box. It looks to be aligned at the top, and I can't see any
way to change it. Maybe not a big deal, but the letters don't line up with
other textboxes on the same line and it makes the userform look bad.

Does anyone know how I can center the label caption vertically within the
label field?

Why not use a textbox that has its 'Enabled' property set to 'False'?
 
M

MerseyBeat

Would adjusting the text font size and/or height property of the label
suffice?
Changing those properties may give the text the "appearance" of being
centered.

MB
 
R

Rick Rothstein

In a userform, I sometimes prefer using a label instead
of a textbox, because the label can't be edited and is
automatically gray. Basically I want to use the label
field just as if it were a textbox that can't be edited
and is always grayed out.

The problem I have is that the caption (font) in the
label is not centered vertically in the box. It looks to
be aligned at the top, and I can't see any way to
change it. Maybe not a big deal, but the letters don't
line up with other textboxes on the same line and it
makes the userform look bad.

Does anyone know how I can center the label caption
vertically within the label field?

You can fake centering the text in the label vertically by using two Label
controls having the same fill color. Set Label1 to have a border and set its
Caption to the empty string. Next, set Label2 to not have a border and put
the text you want to display in its Caption property. Also set Label2's
AutoSize property to True and then place Label2 over top of Label1 so its is
located where you want it horizontally. You can center it vertically using
this code...

Label2.Top = Label1.Top + (Label1.Height - Label2.Height) / 2

but do so after you place the text you want to display in Label2. If you do
everything correctly, then the text you put in Label2 will look as if it is
part of Label1 and be located where you want it.

Rick Rothstein (MVP - Excel)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top