Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Formatting text in WinForm Label

Tags:

Is it possible to format certain text in a WinForm Label instead of breaking the text into multiple labels? Please disregard the HTML tags within the label's text; it's only used to get my point out.

For example:

Dim myLabel As New Label myLabel.Text = "This is <b>bold</b> text.  This is <i>italicized</i> text." 

Which would produce the text in the label as:

This is bold text. This is italicized text.

like image 373
Bryan Roth Avatar asked Aug 14 '08 16:08

Bryan Roth


1 Answers

That's not possible with a WinForms label as it is. The label has to have exactly one font, with exactly one size and one face. You have a couple of options:

  1. Use separate labels
  2. Create a new Control-derived class that does its own drawing via GDI+ and use that instead of Label; this is probably your best option, as it gives you complete control over how to instruct the control to format its text
  3. Use a third-party label control that will let you insert HTML snippets (there are a bunch - check CodeProject); this would be someone else's implementation of #2.
like image 90
TheSmurf Avatar answered Oct 12 '22 16:10

TheSmurf