1

我的应用程序是 VB 中的 Windows 窗体应用程序。

我的应用程序中有 DataGridView。当我设计 DataGridView 时,第七列被定义为 DataGridViewLinkColumn。我的应用程序从表中读取链接,并且 Grid 正确显示它。

我不希望我的用户看到链接,我希望他们看到类似“单击此处访问”这样的句子,但我无法做到。

其次,当我单击链接时,没有任何反应。我知道我必须在 CellContentClick 事件中处理这个问题,但我不知道如何调用指向链接的默认浏览器。

提前致谢。

4

1 回答 1

0

没有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

要在默认浏览器中打开链接,请使用Process该类并将 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
于 2015-01-11T12:36:55.480 回答