【发布时间】:2021-10-30 17:50:24
【问题描述】:
我需要帮助。我只想在 LisetView 中显示文件名,但是当我在 listView 中单击时,文件打开了。 但我需要文件的完整路径才能打开文件。 我该如何解决这个问题?
private void button1_Click(object sender, EventArgs e)
{
llistView1.Items.Clear();IEnumerable<string> filesOrDirectories = FileDirectorySearcher.Search(@"D:\", "*" + textBox1.Text + "*")
.Select(d => Path.ChangeExtension(d, null));
foreach(filesOrDirectories 中的字符串 fileOrDirectory){
DateTime dt = File.GetLastWriteTime(fileOrDirectory);
listView1.Items.Add(fileOrDirectory);
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add(dt.ToString());
listView1.Items.Add(lvi);
}
private void listView1_ItemActivate(object sender, EventArgs e)
{
string currentDir = Directory.GetCurrentDirectory();
string selectedFile = listView1.SelectedItems[0].Text; sloupci
System.Diagnostics.Process.Start(Path.Combine(currentDir, selectedFile));
【问题讨论】:
-
使用
ListViewItem.Tag属性将完整路径存储在ListViewItem中(作为字符串),然后将.Tag转换为string以访问string selectedFile = (string) listView1.SelectedItems[0].Tag;中的完整路径跨度> -
我想这是 WinForms 吧?您应该将此标签添加到您的问题中,因为存在许多其他 UI 框架。
-
看看
GetFileNameWithoutExtension类:codeproject.com/Questions/387955/… -
谢谢马修·沃森。这正是我所需要的,它工作得很好,而且只有几行。
标签: c# file listview select path