LinkLabel... 在默认网络浏览器中打开?

Posted

技术标签:

【中文标题】LinkLabel... 在默认网络浏览器中打开?【英文标题】:LinkLabel... open in default web browser? 【发布时间】:2011-08-22 22:16:32 【问题描述】:

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

【问题讨论】:

这是默认行为,一旦您设置了正确的有效 url。您遇到了什么样的问题?到目前为止,您的代码看起来如何? 我在属性中寻找可以启动它的东西。最初我尝试只为 .Text 属性设置一个 url 地址,当然这不起作用。 我不明白这个控件的存在,可能是因为我不明白如何使用它 【参考方案1】:

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

【讨论】:

类似这样的私有 void linkSubmit_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) System.Diagnostics.Process.Start(linkSubmit.text as String); 谢谢... :D :D ***.com/a/61035650/2152973【参考方案2】:

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

ProcessStartInfo sInfo = new ProcessStartInfo("http://www.google.com");
Process.Start(sInfo);

【讨论】:

【参考方案3】:

这是一个受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 在链接周围添加非超链接文本。

【讨论】:

【参考方案4】:

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

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    System.Diagnostics.Process.Start(((LinkLabel)sender).Text);

【讨论】:

以上是关于LinkLabel... 在默认网络浏览器中打开?的主要内容,如果未能解决你的问题,请参考以下文章

winform中linklabel打开指定网站

对 LinkLabel 控件使用键盘快捷键

MoSync:在默认网络浏览器中打开链接

在默认网络浏览器中打开 URL

改进 LinkLabel - 使用系统手形光标和更改链接颜色

C# 重写LinkLabel控件的click事件