axWindowsMediaPlayer已经在我的Form类中正常工作,现在我想为不同的玩家创建一个抽象工厂,我将axWindowsMediaPlayer移动到该工厂的实现类中。 但是现在playstatechanged事件不再被解雇了,我错过了什么吗? 这是我在实现类的构造函数中的初始化:
axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
axWindowsMediaPlayer1.CreateControl();
axWindowsMediaPlayer1.BeginInit();
axWindowsMediaPlayer1.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer1_PlayStateChange);
axWindowsMediaPlayer1.EndInit();
稍后该事件发生在实现类中:
private void axWindowsMediaPlayer1_PlayStateChange(
object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
if (e.newState == 8)
{
this.playnext(listBox);
}
}
所以我错过了一些东西,为什么这个在我的Winform中工作,而不是在我的其他课程中?
答案 0 :(得分:0)
现在它正在运行,问题在于它是一个VS 2010项目。我刚刚创建了一个新的VS 2013项目并将文件复制到其中,现在一切正常。