在表单中显示多个链接标签

时间:2013-06-06 09:59:17

标签: c#

我有一个C#Windows窗体,它基于用户输入将获取多个下载链接。现在,我在向用户显示此链接方面遇到了困难,因此他们可以单击所需的链接来下载文件。

我可以使用MessageBox显示所有内容,但无法在MessageBox中创建链接,因为下载链接很长,所以用户不友好。

我按照http://msdn.microsoft.com/en-us/library/aa288420(v=vs.71).aspx中的示例尝试了LinkLabel。这可以工作,但只能用于1个链接。

我知道如何为多个链接执行此操作,还是有其他方法?

3 个答案:

答案 0 :(得分:5)

创建自己的表单以向用户显示消息。此外,使用TableLayoutPanel和LinkLabel在创建的自定义消息表单中显示多个链接,如下所示。

string[] links = new string[10];
TableLayoutPanel panel = new TableLayoutPanel();
panel.RowCount = links.Length;
panel.ColumnCount = 1;
int currentRow = 0;
foreach (var link in links)
{
    LinkLabel linkLabel = new LinkLabel();
    linkLabel.Text = "Click here to get more info.";
    linkLabel.Links.Add(6, 4, link);
    linkLabel.OnLinkClicked += OnLinkClicked;
    panel.Controls.Add(linkLabel, 0, currentRow++);
}
this.Controls.Add(panel);

事件处理程序如下所示,

void OnLinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process.Start(e.Link);
}

答案 1 :(得分:2)

答案 2 :(得分:0)

试试这个:

Process.Start(e.Link.LinkData.ToString());