0

我一直在阅读动态链接标签,但是,我还没有找到答案。在我的代码中,我正在读取一个 .csv 文件,其中包含检查行的基本设置,如果每三个都填满,则它是一个链接。请注意,这一切都在 tableLayoutPanel 中。我正在创建这样的标签:

        tableLayoutPanel1.Controls.Add(new LinkLabel() { Text = "TEST",Name = count.ToString(),Tag = @"N:\reuther", Anchor = AnchorStyles.Left, AutoSize = true }, 2, 3);

我遇到的问题是,其中一些列可能是空的,这意味着我真的不知道任何时候我总共会有多少列。我在网上看到的任何注释,命名动态链接,然后继续使用一个私有函数来检测按名称的特定链接被单击。我不能这样做,因为在运行之前我永远不会知道需要多少链接。在我的示例中,我可以(并且确实)为链接命名,是否可以使用通用的 .Click 事件来检测任何点击,此时我可以让它通过标签打开路径?还有其他方法可以解决这个问题吗?

谢谢你。

4

1 回答 1

0

稍加修修补补,我解决了这个问题。

链接标签 [] 链接标签 = 新链接标签 [100];

        linkLabel[count] = new LinkLabel();
        linkLabel[count].Tag = @"N:\reuther";
        linkLabel[count].Text = "Click Me";
        tableLayoutPanel1.Controls.Add(linkLabel[count], 3, 4);

    private void LinkedLabelClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        string filepath = ((LinkLabel)sender).Tag.ToString();
        System.Diagnostics.Process.Start(filepath);
    }

在这个方法中,我创建了一个存储 100 个链接标签的数组。在创建它们时,我使用计数方法来计算已创建的链接数。对于每个链接,我使用 .Tag 设置文件路径,最后将字符串文件路径设置为 Tag,这使我可以在之后使用该行打开它。谢谢你。

于 2016-03-29T02:26:32.807 回答