problem measuring width of TabPage.Text

J

Jeff

..NET 2.0

How do I in the DrawItem event of a TabControl measure how wide the area
displaying TabPage.Text need to be??

For example I've got a tabpage with the text property set to "hello world",
when I run this code it only displays "hello wo"

any suggestions on how to fix this are most welcome

Jeff
 
N

Nicholas Paldino [.NET/C# MVP]

Jeff,

Assuming you have a Graphics instance for the tab page control in the
event, you can call the MeasureString method on the Graphics instance to get
the width of a particular piece of text.
 
M

Mick Doherty

The tabs are measured using GDI.
Graphics.DrawString() uses GDI+ to draw the text and so it does not always
fit into the GDI measured rectangle.

Use System.Windows.Forms.TextRenderer.DrawText() to draw the Tabs Text.
Unfortunately, GDI text cannot always be rotated (it depends on the font),
so this method fails for left and right aligned tabs.
 

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