Back to Devexpress

VGridOptionsBehavior.HyperlinkClickMode Property

windowsforms-devexpress-dot-xtraverticalgrid-dot-vgridoptionsbehavior-0308d8ea.md

latest7.8 KB
Original Source

VGridOptionsBehavior.HyperlinkClickMode Property

Gets or sets whether and how hyperlinks in row captions and record headers are activated.

Namespace : DevExpress.XtraVerticalGrid

Assembly : DevExpress.XtraVerticalGrid.v25.2.dll

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

Declaration

csharp
[DefaultValue(HyperlinkClickMode.Default)]
[XtraSerializableProperty]
public virtual HyperlinkClickMode HyperlinkClickMode { get; set; }
vb
<DefaultValue(HyperlinkClickMode.Default)>
<XtraSerializableProperty>
Public Overridable Property HyperlinkClickMode As HyperlinkClickMode

Property Value

TypeDefaultDescription
HyperlinkClickModeDefault

A value that specifies whether and how hyperlinks in row captions and record headers are activated.

|

Available values:

NameDescription
Default

The same as the None option.

| | CtrlClick |

A hyperlink is activated on a mouse click when the CTRL key is pressed down.

| | Click |

A hyperlink is activated on a mouse click.

| | None |

Do not activate a hyperlink on a mouse pointer hover or click event.

|

Property Paths

You can access this nested property as listed below:

Object TypePath to HyperlinkClickMode
VGridControlBase

.OptionsBehavior .HyperlinkClickMode

|

Remarks

You can use HTML tags to insert hyperlinks in row captions and record headers (see OptionsView.AllowHtmlText for information on how to enable these tags).

The default behavior is to display hyperlinks, but do not activate them on mouse events.

Set the control’s HyperlinkClickMode property to one of the following values:

  • Click value — A hyperlink is activated on a mouse click.
  • CtrlClick value — A hyperlink is activated on a mouse click when the CTRL key is pressed down.

Hyperlinks are never activated if the HyperlinkClickMode property is set to Default or None.

Handle the VGridControlBase.HyperlinkClick event to perform actions on hyperlink activation.

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

HyperlinkClick

Caption

ShowRecordHeaders

RecordHeaderFormat

Records

HTML-inspired Text Formatting

VGridOptionsBehavior Class

VGridOptionsBehavior Members

DevExpress.XtraVerticalGrid Namespace