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 项目并将文件复制到其中,现在一切正常。
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 项目并将文件复制到其中,现在一切正常。