DataGridViewLinkColumn 格式化

DataGridViewLinkColumn formatting

我的申请是 VB 中的 windows 表单申请。

我的应用程序中有 DataGridView。第七列在我设计DataGridView时定义为DataGridViewLinkColumn。我的应用程序从 table 读取 link 并且网格正确显示它。

我不想让我的用户看到 link,我希望他们看到像 "Click here to visit" 这样的句子,但我做不到。

其次,当我点击 link 时没有任何反应。我知道我必须在 CellContentClick 事件中处理这个,但我不知道如何调用指向 link.

的默认浏览器

提前致谢。

DataGridViewLinkColumn中没有直接的属性将显示文字和url分开。

为了实现您的目标,您需要处理两个事件 CellFormattingCellContentClick。订阅这些活动。

CellFormatting 事件处理程序中,将格式化值更改为 Click here to visit。标志 FormattingApplied 必须设置为 True,因为这会阻止进一步格式化值。

Private Sub dataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs)
    If e.ColumnIndex = 'link column index Then
        e.Value = "Click here to visit";
        e.FormattingApplied = True;
    End If
End Sub

要在默认浏览器中打开 link,请使用 Process class 并将 url 作为参数传递给 Start 方法。将代码放在 CellContentClick 事件处理程序中。

Private Sub dataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs)
    If e.ColumnIndex = 'link column index Then
        Process.Start(dataGridView1(e.ColumnIndex, e.RowIndex).Value.ToString());
    End If
End Sub