打开文件对话框不能在c#中工作!

时间:2015-03-05 07:12:48

标签: c# winforms openfiledialog

private void button3_Click(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Filter = "Music|*.mp3";
        if(ofd.ShowDialog()==DialogResult.OK)
        {
            SoundPlayer sp = new SoundPlayer(ofd.FileName);
            sp.Play();
        }
    }

我尝试了给定的代码,但它没有显示出来。而不是那个程序冻结了。 当然,主要方法中已经有[STATHREAD]。请帮助!

1 个答案:

答案 0 :(得分:0)

我猜测SoundPlayer的Play()方法是一个阻塞调用,所以当你在UI线程上运行它时,它会阻止UI在完成播放之前做任何事情。

尝试将播放器作为单独的线程启动,看看是否会导致程序冻结。