C# Class YamuiFramework.HtmlRenderer.WinForms.HtmlLabel

Provides HTML rendering using the text property.
WinForms control that will render html content in it's client rectangle.
Using AutoSize and AutoSizeHeightOnly client can control how the html content effects the size of the label. Either case scrollbars are never shown and html content outside of client bounds will be clipped. MaximumSize and MinimumSize with AutoSize can limit the max/min size of the control
The control will handle mouse and keyboard events on it to support html text selection, copy-paste and mouse clicks.

The major differential to use HtmlPanel or HtmlLabel is size and scrollbars.
If the size of the control depends on the html content the HtmlLabel should be used.
If the size is set by some kind of layout then HtmlPanel is more suitable, also shows scrollbars if the html contents is larger than the control client rectangle.

AutoSize:

AutoSize = AutoSizeHeightOnly = false
The label size will not change by the html content. MaximumSize and MinimumSize are ignored.

AutoSize = true
The width and height is adjustable by the html content, the width will be longest line in the html, MaximumSize.Width will restrict it but it can be lower than that.

AutoSizeHeightOnly = true
The width of the label is set and will not change by the content, the height is adjustable by the html content with restrictions to the MaximumSize.Height and MinimumSize.Height values.

LinkClicked event

Raised when the user clicks on a link in the html.
Allows canceling the execution of the link.

StylesheetLoad event:

Raised when aa stylesheet is about to be loaded by file path or URI by link element.
This event allows to provide the stylesheet manually or provide new source (file or uri) to load from.
If no alternative data is provided the original source will be used.

ImageLoad event:

Raised when an image is about to be loaded by file path or URI.
This event allows to provide the image manually, if not handled the image will be loaded from file or download from URI.

RenderError event:

Raised when an error occurred during html rendering.

Inheritance: System.Windows.Forms.Control
Afficher le fichier Open project: jcaillon/3P

Protected Properties

Свойство Type Description
_autoSizeHight bool
_baseCssData YamuiFramework.HtmlRenderer.Core.Core.CssData
_baseRawCssData string
_borderStyle BorderStyle
_htmlContainer HtmlContainer
_text string
_textRenderingHint TextRenderingHint
_useSystemCursors bool

Private Properties

Свойство Type Description
OnImageLoad void
OnLinkClicked void
OnRefresh void
OnRenderError void
OnStylesheetLoad void
WndProc void
YamuiThemeManagerOnOnCssChanged void

Méthodes publiques

Méthode Description
GetElementRectangle ( string elementId ) : RectangleF?

Get the rectangle of html element as calculated by html layout.
Element if found by id (id attribute on the html element).
Note: to get the screen rectangle you need to adjust by the hosting control.

GetHtml ( ) : string

Get html from the current DOM tree with inline style.

HtmlLabel ( ) : System

Creates a new HTML Label

SetNeededSize ( string content, int minWidth, int maxWidth, bool dontSquareIt = false ) : void

adapts width to content (the label needs to be in AutoSizeHeight only)

Méthodes protégées

Méthode Description
Dispose ( bool disposing ) : void

Release the html container resources.

OnBorderStyleChanged ( EventArgs e ) : void

Raises the BorderStyleChanged event.

OnImageLoad ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlImageLoadEventArgs e ) : void

Propagate the image load event from root container.

OnLayout ( System.Windows.Forms.LayoutEventArgs levent ) : void

Perform the layout of the html in the control.

OnLinkClicked ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlLinkClickedEventArgs e ) : void

Propagate the LinkClicked event from root container.

OnMouseDoubleClick ( MouseEventArgs e ) : void

Handle mouse double click to select word under the mouse.

OnMouseDown ( MouseEventArgs e ) : void

Handle mouse down to handle selection.

OnMouseLeave ( EventArgs e ) : void

Handle mouse leave to handle cursor change.

OnMouseMove ( MouseEventArgs e ) : void

Handle mouse move to handle hover cursor and text selection.

OnMouseUp ( MouseEventArgs e ) : void

Handle mouse up to handle selection and link click.

OnPaint ( PaintEventArgs e ) : void

Perform paint of the html in the control.

OnRefresh ( HtmlRefreshEventArgs e ) : void

Handle html renderer invalidate and re-layout as requested.

OnRenderError ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlRenderErrorEventArgs e ) : void

Propagate the Render Error event from root container.

OnStylesheetLoad ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlStylesheetLoadEventArgs e ) : void

Propagate the stylesheet load event from root container.

Private Methods

Méthode Description
OnImageLoad ( object sender, YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlImageLoadEventArgs e ) : void
OnLinkClicked ( object sender, YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlLinkClickedEventArgs e ) : void
OnRefresh ( object sender, HtmlRefreshEventArgs e ) : void
OnRenderError ( object sender, YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlRenderErrorEventArgs e ) : void
OnStylesheetLoad ( object sender, YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlStylesheetLoadEventArgs e ) : void
WndProc ( Message &m ) : void
YamuiThemeManagerOnOnCssChanged ( ) : void

Method Details

Dispose() protected méthode

Release the html container resources.
protected Dispose ( bool disposing ) : void
disposing bool
Résultat void

GetElementRectangle() public méthode

Get the rectangle of html element as calculated by html layout.
Element if found by id (id attribute on the html element).
Note: to get the screen rectangle you need to adjust by the hosting control.
public GetElementRectangle ( string elementId ) : RectangleF?
elementId string the id of the element to get its rectangle
Résultat RectangleF?

GetHtml() public méthode

Get html from the current DOM tree with inline style.
public GetHtml ( ) : string
Résultat string

HtmlLabel() public méthode

Creates a new HTML Label
public HtmlLabel ( ) : System
Résultat System

OnBorderStyleChanged() protected méthode

Raises the BorderStyleChanged event.
protected OnBorderStyleChanged ( EventArgs e ) : void
e System.EventArgs
Résultat void

OnImageLoad() protected méthode

Propagate the image load event from root container.
protected OnImageLoad ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlImageLoadEventArgs e ) : void
e YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlImageLoadEventArgs
Résultat void

OnLayout() protected méthode

Perform the layout of the html in the control.
protected OnLayout ( System.Windows.Forms.LayoutEventArgs levent ) : void
levent System.Windows.Forms.LayoutEventArgs
Résultat void

OnLinkClicked() protected méthode

Propagate the LinkClicked event from root container.
protected OnLinkClicked ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlLinkClickedEventArgs e ) : void
e YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlLinkClickedEventArgs
Résultat void

OnMouseDoubleClick() protected méthode

Handle mouse double click to select word under the mouse.
protected OnMouseDoubleClick ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void

OnMouseDown() protected méthode

Handle mouse down to handle selection.
protected OnMouseDown ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void

OnMouseLeave() protected méthode

Handle mouse leave to handle cursor change.
protected OnMouseLeave ( EventArgs e ) : void
e System.EventArgs
Résultat void

OnMouseMove() protected méthode

Handle mouse move to handle hover cursor and text selection.
protected OnMouseMove ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void

OnMouseUp() protected méthode

Handle mouse up to handle selection and link click.
protected OnMouseUp ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void

OnPaint() protected méthode

Perform paint of the html in the control.
protected OnPaint ( PaintEventArgs e ) : void
e PaintEventArgs
Résultat void

OnRefresh() protected méthode

Handle html renderer invalidate and re-layout as requested.
protected OnRefresh ( HtmlRefreshEventArgs e ) : void
e HtmlRefreshEventArgs
Résultat void

OnRenderError() protected méthode

Propagate the Render Error event from root container.
protected OnRenderError ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlRenderErrorEventArgs e ) : void
e YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlRenderErrorEventArgs
Résultat void

OnStylesheetLoad() protected méthode

Propagate the stylesheet load event from root container.
protected OnStylesheetLoad ( YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlStylesheetLoadEventArgs e ) : void
e YamuiFramework.HtmlRenderer.Core.Core.Entities.HtmlStylesheetLoadEventArgs
Résultat void

SetNeededSize() public méthode

adapts width to content (the label needs to be in AutoSizeHeight only)
public SetNeededSize ( string content, int minWidth, int maxWidth, bool dontSquareIt = false ) : void
content string
minWidth int
maxWidth int
dontSquareIt bool
Résultat void

Property Details

_autoSizeHight protected_oe property

is to handle auto size of the control height only
protected bool _autoSizeHight
Résultat bool

_baseCssData protected_oe property

the base stylesheet data used in the panel
protected CssData,YamuiFramework.HtmlRenderer.Core.Core _baseCssData
Résultat YamuiFramework.HtmlRenderer.Core.Core.CssData

_baseRawCssData protected_oe property

the raw base stylesheet data used in the control
protected string _baseRawCssData
Résultat string

_borderStyle protected_oe property

The current border style of the control
protected BorderStyle _borderStyle
Résultat BorderStyle

_htmlContainer protected_oe property

Underline html container instance.
protected HtmlContainer,YamuiFramework.HtmlRenderer.WinForms _htmlContainer
Résultat HtmlContainer

_text protected_oe property

the current html text set in the control
protected string _text
Résultat string

_textRenderingHint protected_oe property

The text rendering hint to be used for text rendering.
protected TextRenderingHint _textRenderingHint
Résultat TextRenderingHint

_useSystemCursors protected_oe property

If to use cursors defined by the operating system or .NET cursors
protected bool _useSystemCursors
Résultat bool