problem measuring width of TabPage.Text

  • Thread starter Thread starter Jeff
  • Start date Start date
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
 
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.
 
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.
 
Back
Top