windowsforms-15721-common-features-tooltip-management-how-to-display-a-hyperlink-in-a-tooltip.md
Tooltips can contain hyperlinks.
You can use HTML tags to format the text in tooltips. The <href> and </href> tags allow you to insert a hyperlink.
<href=www.devexpress.com>Our Web Site</href>
Use the following properties to enable HTML tags in tooltips:
Handle the ToolTipController.HyperlinkClick event to respond to a click on a hyperlink.
This example shows how to create a super tooltip with a hyperlink and assign it to a SimpleButton.
The button’s SuperTip property allows you to specify a super tooltip. Use the ToolTipController.AllowHtmlText, SuperToolTip.AllowHtmlText, or ToolTipItem.AllowHtmlText property to enable HTML tags. Handle the ToolTipController.HyperlinkClick event to respond to a click on the hyperlink.
The SuperToolTip Editor allows you to create super tooltips in the designer. To invoke the editor, click the SuperTip property’s ellipsis button in the Properties window.
If you create a tooltip in the designer, you still need to handle the HyperlinkClick event in code. Use the Properties window to assign an event handler.
The example below shows how to create a super tooltip in code.
using DevExpress.Utils;
using System.Diagnostics;
private void Form1_Load(object sender, EventArgs e) {
// Access the controller that manages tooltips for all controls:
ToolTipController defaultTooltipController = DevExpress.Utils.ToolTipController.DefaultController;
// Create and customize a SuperToolTip:
SuperToolTip sTooltip = new SuperToolTip();
SuperToolTipSetupArgs args = new SuperToolTipSetupArgs();
args.Title.Text = "Header";
args.Contents.Text = "This tooltip contains a hyperlink. Visit the <href=http://help.devexpress.com>DevExpress Knowledge Center</href> to learn more.";
args.ShowFooterSeparator = true;
args.Footer.Text = "Footer";
sTooltip.Setup(args);
// Enable HTML Text Formatting for the created SuperToolTip:
sTooltip.AllowHtmlText = DefaultBoolean.True;
//..or enable this feature for all tooltips:
//defaultTooltipController.AllowHtmlText = true;
// Respond to clicking hyperlinks in tooltips:
defaultTooltipController.HyperlinkClick += defaultTooltipController_HyperlinkClick;
// Assign a SuperToolTip to the button:
simpleButton1.SuperTip = sTooltip;
}
void defaultTooltipController_HyperlinkClick(object sender, HyperlinkClickEventArgs e) {
Process process = new Process();
process.StartInfo.FileName = (e.Link);
process.StartInfo.Verb = "open";
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
try {
process.Start();
}
catch { }
}
Imports DevExpress.Utils
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Access the controller that manages tooltips for all controls:
Dim defaultTooltipController As ToolTipController = DevExpress.Utils.ToolTipController.DefaultController
' Create and customize a SuperToolTip:
Dim sTooltip As New SuperToolTip()
Dim args As New SuperToolTipSetupArgs()
args.Title.Text = "Header"
args.Contents.Text = "This tooltip contains a hyperlink. Visit the <href=http://help.devexpress.com>DevExpress Knowledge Center</href> to learn more."
args.ShowFooterSeparator = True
args.Footer.Text = "Footer"
sTooltip.Setup(args)
' Enable HTML Text Formatting for the created SuperToolTip:
sTooltip.AllowHtmlText = DefaultBoolean.[True]
'..or enable this feature for all tooltips:
'defaultTooltipController.AllowHtmlText = True
' Respond to clicking hyperlinks in tooltips:
AddHandler defaultTooltipController.HyperlinkClick, AddressOf defaultTooltipController_HyperlinkClick
' Assign a SuperToolTip to the button:
SimpleButton1.SuperTip = sTooltip
End Sub
Private Sub defaultTooltipController_HyperlinkClick(sender As Object, e As HyperlinkClickEventArgs)
Dim process As New Process()
process.StartInfo.FileName = (e.Link)
process.StartInfo.Verb = "open"
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal
Try
process.Start()
Catch
End Try
End Sub