1

我需要在列表框中显示的搜索结果中隐藏文件扩展名(.jpg、.exe)。有人可以帮我弄这个吗?这是我的代码。我有文本框、按钮和列表框。

button1 代码:此代码在指定路径上搜索我的文本框上的单词并将其显示在 listbox1 上:

private void button1_Click(object sender, EventArgs e)
{
    x = 0;
    var path = "C:\\Users\\john\\Desktop\\FLASH\\SEARCH";
    listBox1.DataSource = Directory.GetFiles(path, "*" + textBox1.Text + "*")
        .Select(f => Path.GetFileName(f)).ToList();
}

listbox1 代码:此代码在单击时运行搜索结果:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    var fileName = listBox1.SelectedItem as string;
    if (fileName != null)
    {
        var path = Path.Combine("C:\\Users\\thesis\\Desktop\\THESIS\\FLASH\\SEARCH", fileName);

        if (x != 0)
        {
            Process.Start(path);
        } 
    }
    x += 1;
}

使用此代码,我的输出如下所示:“result.exe”“result.jpg”。我需要的输出是这样的:“结果”,“输出”。

4

3 回答 3

8

采用GetFileNameWithoutExtension

private void button1_Click(object sender, EventArgs e)
        {
            x = 0;
            var path = "C:\\Users\\john\\Desktop\\FLASH\\SEARCH";
            listBox1.DataSource = Directory.GetFiles(path, "*" + textBox1.Text + "*")
                               .Select(f => Path.GetFileNameWithoutExtension(f))
                               .ToList();
        }
于 2013-02-01T13:05:24.547 回答
2

采用

Path.GetFileNameWithoutExtension(filePath)

检索没有扩展名的文件名。您的查询将如下所示:

listBox1.DataSource = Directory.GetFiles(path, "*" + textBox1.Text + "*")
                               .Select(f => Path.GetFileNameWithoutExtension(f))
                               .ToList();
于 2013-02-01T13:05:30.687 回答
1

这应该工作

    var liist = Directory.GetFiles(path, "*" + textBox1.Text + "*")
                         .Select(Path.GetFileNameWithoutExtension).ToList();
于 2013-02-01T13:09:56.230 回答