播放声音直到dialogbox.dialogresult == dialogresult.OK

时间:2011-04-15 07:26:37

标签: c# winforms dialog messagebox

我正在开发一个winform应用程序。 我想播放一个声音文件,直到对话框的消息框正常。我怎样才能做到这一点。

例如

 /*Till*/ (MessageBox.Show("Alarm") == DialogResult.OK)

 //Play a sound file

我一边试着一边做,但没有成功。我是否需要使用后台工作程序或在单独的线程中运行代码?

2 个答案:

答案 0 :(得分:6)

您无需滚动自己的线程。 .NET类库已经为您完成了。这就是你如何做到的:

        SoundPlayer p = new SoundPlayer(@"C:\Windows\Media\chimes.wav");
        p.PlayLooping();
        MessageBox.Show("Alarm");
        p.Stop();

答案 1 :(得分:1)

是的,在弹出消息框时启动的单独线程中运行声音文件。一旦MessageBox回来OK,你可以调用该线程告诉音乐停止,或者你可以杀死该线程。

修改

另一种方法是编写自己的AlarmMessageBox,它继承自MessageBox。它唯一的区别是,在创作时它会开始播放那个声音,点击确定它就会停止。这可以只在一个线程中工作。