“打开文件”对话框无法在c#中工作!

“打开文件”对话框无法在c#中工作!,c#,winforms,openfiledialog,C#,Winforms,Openfiledialog,我尝试了给定的代码,但它没有出现。相反,程序冻结了。 当然主方法中已经有[StatThread],请帮助 我猜SoundPlayer的Play()方法是一个阻塞调用,因此当您在UI线程上运行它时,它会阻止UI执行任何操作,直到它完成播放 尝试将播放机作为单独的线程启动,看看这是否会导致程序不冻结。请使用调试器,设置断点。到底在哪里冻结了你的程序?变量值是什么(预期值与实际值)?出了什么问题?SoundPlayer.Play()是异步调用。该类有一个同步的PlaySync()方法。所以你的理论是错

我尝试了给定的代码,但它没有出现。相反,程序冻结了。
当然主方法中已经有[StatThread],请帮助

我猜SoundPlayer的Play()方法是一个阻塞调用,因此当您在UI线程上运行它时,它会阻止UI执行任何操作,直到它完成播放


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

请使用调试器,设置断点。到底在哪里冻结了你的程序?变量值是什么(预期值与实际值)?出了什么问题?
SoundPlayer.Play()
是异步调用。该类有一个同步的
PlaySync()
方法。所以你的理论是错误的。这里真正的问题是OP没有提供一个有用的问题来回答。最好不要试图回答这样的问题。
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();
        }
    }