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 中有效,但在我的其他班级中却没有?