Back to Devexpress

VGridControlBase.HyperlinkClick Event

windowsforms-devexpress-dot-xtraverticalgrid-dot-vgridcontrolbase-6d108acf.md

latest7.2 KB
Original Source

VGridControlBase.HyperlinkClick Event

Fires when a hyperlink in a row header or record header is activated.

Namespace : DevExpress.XtraVerticalGrid

Assembly : DevExpress.XtraVerticalGrid.v25.2.dll

NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.VerticalGrid

Declaration

csharp
[DXCategory("Action")]
public event EventHandler<VGridHyperlinkClickEventArgs> HyperlinkClick
vb
<DXCategory("Action")>
Public Event HyperlinkClick As EventHandler(Of VGridHyperlinkClickEventArgs)

Event Data

The HyperlinkClick event's data class is DevExpress.XtraVerticalGrid.Events.VGridHyperlinkClickEventArgs.

Remarks

The control’s OptionsView.AllowHtmlText property enables the use of HTML tags to format text in the following elements:

You can use HTML tags to insert hyperlinks. The default behavior is to display hyperlinks, but restrict their activation on mouse events.

Set the control’s OptionsBehavior.HyperlinkClickMode property to Click to allow users to activate hyperlinks on a mouse click. Set this property to CtrlClick to activate hyperlinks on a mouse click combined with the CTRL key.

Handle the control’s HyperlinkClick event to perform actions when a hyperlink is activated.

Example

In the following example, a Vertical Grid’s record headers contain hyperlinks that display employees’ e-mails. The VGridOptionsBehavior.HyperlinkClickMode property is set to CtrlClick to allow users to activate hyperlinks on a mouse click when the CTRL key is pressed down. The VGridControlBase.HyperlinkClick event handler starts a process that opens a clicked hyperlink.

csharp
private void Form1_Load(object sender, EventArgs e) {
    BindingList<Message> list = new BindingList<Message>();
    list.Add(new Message() { Date = DateTime.Now, Email = "[email protected]", From = "John Heart", PlainText = "Hello All Please remember that I’ve rescheduled...", Subject = "DevAV Annual Performance Review" });
    list.Add(new Message() { Date = DateTime.Now, Email = "[email protected]", From = "Violet Bailey", PlainText = "Good Day Morgan I’ve been asked by the sales team...", Subject = "Artwork for packaging" });
    vGridControl1.DataSource = list;
    vGridControl1.OptionsView.ShowRecordHeaders = true;
    vGridControl1.OptionsView.AllowHtmlText = true;
    vGridControl1.RecordHeaderFormat = "<b>{From}</b>
<a href=mailto:{Email}>{Email}</a>";
    vGridControl1.Appearance.RecordHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
    vGridControl1.RecordWidth = 150;
    vGridControl1.OptionsBehavior.HyperlinkClickMode = DevExpress.Utils.Drawing.HyperlinkClickMode.CtrlClick;
    vGridControl1.HyperlinkClick += VGridControl1_HyperlinkClick;
}

private void VGridControl1_HyperlinkClick(object sender, DevExpress.XtraVerticalGrid.Events.HyperlinkClickEventArgs e) {
    if (e.Link.StartsWith("mailto:"))
        System.Diagnostics.Process.Start(e.Link);
}

public class Message {
    public DateTime Date { get; set; }
    public string From { get; set; }
    public string Email { get; set; }
    public string Subject { get; set; }
    public string PlainText { get; set; }
}
vb
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim list As New BindingList(Of Message)()
    list.Add(New Message() With {.Date = DateTime.Now, .Email = "[email protected]", .From = "John Heart", .PlainText = "Hello All Please remember that I’ve rescheduled...", .Subject = "DevAV Annual Performance Review"})
    list.Add(New Message() With {.Date = DateTime.Now, .Email = "[email protected]", .From = "Violet Bailey", .PlainText = "Good Day Morgan I’ve been asked by the sales team...", .Subject = "Artwork for packaging"})
    VGridControl1.DataSource = list
    VGridControl1.OptionsView.ShowRecordHeaders = True
    VGridControl1.OptionsView.AllowHtmlText = True
    VGridControl1.RecordHeaderFormat = "<b>{From}</b>
<a href=mailto:{Email}>{Email}</a>"
    VGridControl1.Appearance.RecordHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap
    VGridControl1.RecordWidth = 150
    VGridControl1.OptionsBehavior.HyperlinkClickMode = DevExpress.Utils.Drawing.HyperlinkClickMode.CtrlClick
    AddHandler VGridControl1.HyperlinkClick, AddressOf VGridControl1_HyperlinkClick
End Sub

Private Sub VGridControl1_HyperlinkClick(ByVal sender As Object, ByVal e As DevExpress.XtraVerticalGrid.Events.HyperlinkClickEventArgs)
    If e.Link.StartsWith("mailto:") Then
        System.Diagnostics.Process.Start(e.Link)
    End If
End Sub

Public Class Message
    Public Property Date As DateTime
    Public Property From() As String
    Public Property Email() As String
    Public Property Subject() As String
    Public Property PlainText() As String
End Class

See Also

AllowHtmlText

AllowHtmlText

Caption

HyperlinkClickMode

ShowRecordHeaders

RecordHeaderFormat

Records

HTML-inspired Text Formatting

VGridControlBase Class

VGridControlBase Members

DevExpress.XtraVerticalGrid Namespace