visual-studio - C# Listbox 将文本转换为超链接
问题描述
我有一个表单,允许用户输入名称并对各种定义的文件夹执行搜索,并在列表框中显示搜索到的文件(完整路径)。现在我想将“完整路径”字符串转换为超链接,因此当用户在 ListBox 内单击它时,它将启动 Window explorer 以定位并突出显示文件。这是我到目前为止得到的代码:
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());
}
}
谢谢
解决方案
您的问题是关于在 WinForms 中的可视化中做什么。但是您的代码是关于如何用数据填充 ListBox。
ListBox 有一个事件SelectedIndexChanged
。每当在该控件中选择另一个项目时,都会调用它。
您可以订阅它并获取所选项目值以在所需位置打开资源管理器窗口。
如果您不知道如何使用 C# 在特定位置打开文件资源管理器,请查看此问题。
推荐阅读
- pywin32 - 作为 Windows 服务运行时程序停止
- sorting - ag grid react 比较器 - 对具有日期时间和字符串文字的列进行自定义排序
- swift - 从原始像素到 PixelBuffer 的最有效方式是什么?
- powershell - Powershell - 试图解析一些文本
- ansible - 使用 Ansible 将列表转换为字典中的值
- python - Librosa中音频文件每秒的峰值频率
- python-3.x - 我得到 AttributeError 试图将表单数据保存到 db
- pip - pip install 是否因引用奇怪 url 的错误而失败?
- mysql - 基于外键存在的单条SQL语句
- php - 如何在没有特殊字符的情况下隔离字符串的最大片段?