让音乐在关闭表单后停止并在加载表单时播放

Making music stop after form is closed and play when a form is loaded

对于我正在创建的应用程序,我试图添加在打开 form2 时播放的音乐。这似乎工作得很好,我唯一的问题是当我关闭表格时它立即开始再次播放音乐。这是我的代码:

        private void Form2_Load(object sender, EventArgs e)
        {
            music(true);
        }
        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            music(false);
        }
        private void music(bool placeholder)
        {
            System.IO.Stream str = Properties.Resources.Music;
            System.Media.SoundPlayer snd = new System.Media.SoundPlayer(str);
            if (placeholder = true)
            {
                snd.Play();
            } else
            {
                snd.Stop();
            }
        }

如果我启动我的应用程序,它不会播放任何它应该播放的音乐,因为它是在 form1 上打开的。当我打开 form2 时,它会正常播放音乐,但当我关闭它时,它会重新启动音乐,并且一直在播放。

单纯的判断失误

if (placeholder = true)
            {
                snd.Play();
            } else
            {
                snd.Stop();
            }

建议您将以上代码修改为:

if (placeholder == true)
            {
                snd.Play();
            } else
            {
                snd.Stop();
            }

如有不妥请在下方留言。