Visual studio C#列表框将文本转换为超链接

Visual studio C#列表框将文本转换为超链接,visual-studio,c#,Visual Studio,C#,我有一个表单,允许用户输入名称,在各种定义的文件夹上执行搜索,并在列表框中显示搜索到的文件(完整路径)。 现在我想将“完整路径”字符串转换为超链接,这样当用户在列表框内单击它时,它将启动窗口资源管理器来定位并突出显示文件。 以下是我到目前为止得到的代码: public void searchfile() { string fn = txt_filename.Text; lst_box1.Items.Clear(); t

我有一个表单,允许用户输入名称,在各种定义的文件夹上执行搜索,并在列表框中显示搜索到的文件(完整路径)。 现在我想将“完整路径”字符串转换为超链接,这样当用户在列表框内单击它时,它将启动窗口资源管理器来定位并突出显示文件。 以下是我到目前为止得到的代码:

 public void searchfile()
    {
        
        string fn = txt_filename.Text;
        lst_box1.Items.Clear();

        try
        {
            // Only get files that begin with the letter "c".
            List<string> dirs = new List<string>();
            dirs.AddRange(Directory.GetFiles(@"D:\Temp\Downloads", "*" + fn + "*"));
            
            foreach (string dir in dirs)
            {
                
                    lst_box1.Items.Add(dir);
                   
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
public void searchfile()
{
字符串fn=txt_filename.Text;
lst_box1.Items.Clear();
尝试
{
//仅获取以字母“c”开头的文件。
List dirs=新列表();
dirs.AddRange(Directory.GetFiles(@“D:\Temp\Downloads”、“*”+fn+“*”));
foreach(dirs中的字符串dir)
{
第一箱1.项目。添加(目录);
}
}
捕获(例外情况除外)
{
Show(例如ToString());
}
}

谢谢

您的问题是关于如何在WinForms的可视化中进行操作。但是您的代码是关于如何用数据填充列表框的

列表框有一个事件。每当在该控件中选择另一项时,将调用此函数

您可以订阅它并获取所选项目的值,以便在所需位置打开资源管理器窗口


如果您不知道如何使用C#在特定位置打开文件资源管理器,请查看。

您也可以通过双击打开它:

    private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        var item = listBox1.SelectedItem;

        // open Explorer with the path
        string sFolder_Path = listBox1.SelectedItem.ToString();
        Process.Start(sFolder_Path);
    }

感谢您的快速帮助,我尝试了:Process.Start(“explorer.exe”,@curItem);它工作正常,并成功地打开了文件。我想要的是打开包含该文件的文件夹并选择该文件。最后使用:(string argument=“/select,\”“+curItem+”\”;Process.Start(“explorer.exe”,argument);)使其工作。谢谢您的帮助,非常感谢。