更改链接而不更改名称

时间:2011-08-28 18:08:33

标签: c# winforms

是否可以在不更改名称的情况下更改链接? 例如:

linllabeltext.link = "http://mylink.com/";

不起作用

这会更改名称

linklabeltext.test = "http://mylink.com/"

更改测试

我已点击

添加了此功能
Process.Start(linklabetext.text);

如何?

full code:

private void (......)
{
.....
var name = result.name;
.......
labelLink1.text = name;
}

private void labelLink1_click....
{
Process.Start(labelLink1.text);
}

但是此代码更改了链接es:http://mysate.com中labelLink1的名称,但labelLink的名称是访问网站

2 个答案:

答案 0 :(得分:2)

查看MSDN上的示例。特别是在他们创建LinkLabel并设置其链接和文本的地方:

this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.linkLabel1.Text = "Register Online.  Visit Microsoft.  Visit MSN.";
if(this.linkLabel1.Text.Length >= 45)
{
    this.linkLabel1.Links[0].LinkData = "Register";
    this.linkLabel1.Links.Add(24, 9, "www.microsoft.com");
    this.linkLabel1.Links.Add(42, 3, "www.msn.com");
    //  The second link is disabled and will appear as red.
    this.linkLabel1.Links[1].Enabled = false;
}

之前我从未实际使用过此控件,但似乎您将.Text设置为任意字符串,然后将“links”设置为对应.Text属性中的子字符串。

修改:我刚刚注意到您也在使用错误的事件点击链接。您不想绑定到LinkLabel控件的Click事件。它有一个LinkClicked事件,可以在事件中提供有关被点击链接的更多信息。当然,请看MSDN examples

private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    // Specify that the link was visited.
    this.linkLabel1.LinkVisited = true;

    // Navigate to a URL.
    System.Diagnostics.Process.Start("http://www.microsoft.com");
}

答案 1 :(得分:1)

Dunno,如果它有帮助或没有,因为我不完全确定你在追求什么,但here's a quick example如何使用LinkLabel。在文本框中输入任何有效的URL,单击其下面的链接,然后通过调用Process.Start()打开URL。无论您输入的是什么网址,LinkLabel的文本都不会更改。 (我认为是你所追求的。)

enter image description here