如何使用c#多选择对话框中的特定文件

本文关键字:文件 对话框 何使用 选择 | 更新日期: 2023-09-27 17:49:17

我需要从文件对话框中选择一个特定的文件。

OpenFileDialog ofd = new OpenFileDialog();
private void pictureBox23_Click(object sender, EventArgs e)
{
    ofd.Filter = "WAV|*.wav";
    this.ofd.Multiselect = true;
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        label23.Text = ofd.SafeFileName;
    }
    else
    {
        label23.Text = "No files selected...";
    }
}

我需要做的是选择并使用我预先定义的文件,所以如果我用01.wav定义一个事件如果用户选择了一个名为01.wav的文件,那么这个文件将像这样使用:

using (SoundPlayer player = new SoundPlayer(Beatpadpc.Properties.Resources._01))
{
    player.Play();
}

我目前已经适应了它,因为它将从资源中播放它,我需要做的是从文件选择中播放文件,但只有当文件命名为"01".wav

有办法吗?

如何使用c#多选择对话框中的特定文件

那么,只需过滤名为filename的ofd属性。

OpenFileDialog ofd = new OpenFileDialog();
string strAudioFilePath = String.Empty;
private void pictureBox23_Click(object sender, EventArgs e)
{
    ofd.Filter = "WAV|*.wav";
    this.ofd.Multiselect = true;
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        // Here you make a small filter with linq
        label23.Text = strAudioFilePath = ofd.FileNames.FirstOrDefault(x => x.EndsWith("01.wav")); // you change 01.wav to something that make more sense to you
    }
    else
    {
        label23.Text = "No files selected...";
    }
}

如果你想删除你的资源文件,只要给你的声音播放器文件的路径,就可以了。

SoundPlayer simpleSound = new SoundPlayer(strAudioFilePath);
simpleSound.Play();