我有一个C#Windows窗体,它基于用户输入将获取多个下载链接。现在,我在向用户显示此链接方面遇到了困难,因此他们可以单击所需的链接来下载文件。
我可以使用MessageBox
显示所有内容,但无法在MessageBox
中创建链接,因为下载链接很长,所以用户不友好。
我按照http://msdn.microsoft.com/en-us/library/aa288420(v=vs.71).aspx中的示例尝试了LinkLabel。这可以工作,但只能用于1个链接。
我知道如何为多个链接执行此操作,还是有其他方法?
答案 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());