AxWindowsMediaPlayer在Form1中声明Form1中有个共同方法用来播放:
        public void play(string url)
        {
            this.axWindowsMediaPlayer1.URL = url;
        }
如果在Form1中调动该方法,则AxWindowsMediaPlayer控件就正常运作;但是在Form2中调动该方法,虽然也能播放音乐,但是AxWindowsMediaPlayer控件却没有反应,没有播放时间,暂停,开始等按钮都无法使用,根本没有在运作。急求原因!!!!!

解决方案 »

  1.   

    应是子窗口调用父窗口控件问题:
    我用的是下面的方法:
    在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:        public static Form1 pCurrentWin = null;//这个用于第一个窗口,例如是Form1
        然后在主窗体构造函数中,给静态成员初始化,如下:
        pCurrentWin = this;
        并为播放器写一个用于播放的函数:
        public void playsong(string songURL)
            {
                 this.axWindowsMediaPlayer1.URL = songURL;
             }        那么在子窗体中调用父窗体,可以通过“主窗体类名. pCurrentWin”来操作当前的主窗体。
    如果是播放就是Form1.pCurrentWin.playsong(songURL)
    传递一个歌曲地址就可以了