axWindowsMediaPlayer 事件在非表单中不起作用 class

axWindowsMediaPlayer event not working in not-Form class

axWindowsMediaPlayer 在我的表单 class 中一直正常工作,现在我想为不同的播放器创建一个抽象工厂,我将 axWindowsMediaPlayer 移动到该工厂的实现 class 中。 但是现在 playstatechanged 事件不再被触发,我是不是错过了什么? 这是我在构造函数中初始化的实现 class:

axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
axWindowsMediaPlayer1.CreateControl();
axWindowsMediaPlayer1.BeginInit();
axWindowsMediaPlayer1.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer1_PlayStateChange);
axWindowsMediaPlayer1.EndInit();

稍后事件发生在实现中class:

    private void axWindowsMediaPlayer1_PlayStateChange(
    object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
        if (e.newState == 8)
        {
            this.playnext(listBox);
        }
    }

我是不是漏掉了什么,为什么这在我的 Winform 中有效,但在我的其他 class 中却无效?

现在可以了,问题是它是一个 VS 2010 项目。我刚刚创建了一个新的 VS 2013 项目并将文件复制到其中,现在一切正常。