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 に答える