是否可以在链接标签中添加文件名并在路径后面添加文件名?

Bog*_*rin 5 c# visual-studio winforms

file path我想在 a 中加载 alink label control windows forms并仅显示 a 中的名称link label,但是当单击 alabel以从路径打开文件时。

我这样做了,但我必须显示link label整个文件路径,但我不想这样做。

private void linkPdfLabel__LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process process = new Process();
    process.StartInfo.FileName = linkPdfLabel_.Text;
    process.Start();
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*usz 4

您可以考虑使用 2 种解决方案之一。其中之一是使用Tag属性分配绝对文件路径并在单击时使用它。

示例代码:

void CreateLink(string absoluteFilePath)
{
    _linkPdfLabel_.Tag = absoluteFilePath;
    _linkPdfLabel_.Text = Path.GetFileName(absoluteFilePath);
}

void linkPdfLabel__LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process process = new Process();
    process.StartInfo.FileName = (string)linkPdfLabel_.Tag;
    process.Start();
}
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用一个名为Linkswhich 的属性LinkCollection,它保存对象的集合Link。您可以使用它来获取完整链接而不是文本。

示例代码:

void CreateFileLink(string absoluteFilePath)
{
    linkPdfLabel_.Text = Path.GetFileName(absoluteFilePath);

    var link = new LinkLabel.Link();
    link.LinkData = absoluteFilePath;
    linkPdfLabel_.Links.Add(link);
}

void linkPdfLabel__LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process process = new Process();
    process.StartInfo.FileName = (string)linkPdfLabel_.Link[0].LinkData;
    process.Start();
}
Run Code Online (Sandbox Code Playgroud)