28

是否可以LinkLabel在默认计算机的网络浏览器中打开一个?

4

4 回答 4

52

是的 - 您可以System.Diagnostics.Process.Start(url)在“链接点击”事件中使用。

于 2011-08-22T22:19:00.303 回答
11

我总是这样使用它们。这样,您将获得默认浏览器来打开 URL。

ProcessStartInfo sInfo = new ProcessStartInfo("http://www.google.com");
Process.Start(sInfo);
于 2011-08-22T22:19:01.180 回答
10

这是一个受MSDN启发的解决方案,无需将 URL 硬编码到代码中即可:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    string url;
    if (e.Link.LinkData != null)
        url = e.Link.LinkData.ToString();
    else
        url = linkLabel1.Text.Substring(e.Link.Start, e.Link.Length);

    if (!url.Contains("://"))
        url = "https://" + url;

    var si = new ProcessStartInfo(url);
    Process.Start(si);
    linkLabel1.LinkVisited = true;
}

然后,您可以轻松地使用 LinkArea 在链接周围添加非超链接文本。

于 2014-02-13T12:06:46.120 回答
1

试试这个解决方案会更好:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    System.Diagnostics.Process.Start(((LinkLabel)sender).Text);
}
于 2020-04-15T18:45:42.077 回答