C# 停止button在一个窗体中,axWindowsMediaPlayer1在另一个窗体中,我想按下button停止Player播放该怎么办

我直接在该button中写“ PlayerFrm.axWindowsMediaPlayer1.Ctlcontrols.pause();”提示有错误:非静态的字段、方法或属性“Playersystem.PlayerFrm.axWindowsMediaPlayer1”要求对象引用。

假如你的按钮在Form1中,axWindowsMediaPlayer1在Form2中
首先将Form2中axWindowsMediaPlayer1的Modifiers设置为public
然后得在Form1的全局变量中添加Form2 fm2 = new Form2();
在Form1的适当位置写上fm2.Show();让fm2弹出。
在你的Form1的按钮事件中写上fm2.axWindowsMediaPlayer1.Ctlcontrols.pause();就行了

为什么会出现这个错误提示呢,因为你没有将实例化以后的对象拿来用,而是直接使用了窗体类。追问

这样form2就会再次弹出一个窗体,等于界面上有两个一样的窗体,怎么让任何窗体只出现一次?

追答

你邮箱多少,我直接发你

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-15
在PlayerFrm中定义一个public方法 PauseWMP,方法中写暂停播放的代码:axWindowsMediaPlayer1.Ctlcontrols.pause();
最后在按钮点击事件中写PlayerFrm.PauseWMP();
-----
关于51sx 的回答
设置控件为public貌似不能实现,必须是public和static才行.虽然可以在窗口自动生成的代码中强制更改为静态,但是只要移动了控件就会重新自动生成,又变回去,所以比较麻烦追问

public void PauseWMP()
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
非静态的字段、方法或属性“PlayerFrm.PauseWMP();”要求对象引用
当我把代码改成
public static void PauseWMP()
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
又提示非静态的字段、方法或属性“PlayerFrm.axWindowsMediaPlayer1;”要求对象引用

追答

public void PauseWMP()
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
放到axWindowsMediaPlayer控件所在的窗口

本回答被提问者采纳

C#中如何在窗体中添加播放器控件
第一步 在工具栏点击右键 点击选择项 然后 选择 在 Com 组件 Window Media Player 前打勾 点击确定 然后在工具栏就可以找到啦

...中使用button来暂停子窗体中Windows Media Player的 播放?语句怎么...
axWindowsMediaPlayer1.PlayState=WMPPlayState.wmppsStopped 给这个对象的播放状态赋值WMPPlayState是枚举里面有很多个状态 WMPPlayState.wmppsStopped 是停止

C#的Windows media player的快进快退
每次前进10秒:axWindowsMediaPlayer1.Ctlcontrols.currentPosition += 10;每次后退10秒:axWindowsMediaPlayer1.Ctlcontrols.currentPosition += -10;这个是直接改变播放位置,强!--- 楼主用axWindowsMediaPlayer1.Ctlcontrols.fastReverse()解决了吗?怎么弄的,共享一下。

怎样在C#中添加AxWindowsMediaPlayer控件
在VS2005编程环境的“工具箱”中单击右键,选择“选择项”菜单,打开“选择工具箱项”窗口,选择“COM组件”标签,在列表中找到并勾选“Windows Media Player”组件,单击“确定”按钮。将该组件添加到指定的工具箱选项卡中 然后在工具箱里面找 Windows Media Player 控件,拉到form里面,拉出来的控件就...

c# 跨窗体关闭播放器控件
当然就又多了一个播放器。在form1里这样打开form2:Form2 frm = new Form2();frm.Owner = this;frm.Show();然后在form2里这样关闭:Form1 frm1;frm1 = (Form1)this.Owner;frm1.axWindowsMediaPlayer1.Ctlcontrols.pause();axWindowsMediaPlayer1要是public的 ...

C#程序中:如何用Media?Player播放声音文件和视频文件
{ \/\/播放声音文件或者视频文件的路径 axWindowsMediaPlayer1.URL = Application.StartupPath + "\\\\1.mp3";\/\/只有该值负有路径只时 \/\/方可播放声音文件和视频文件 axWindowsMediaPlayer1.Ctlcontrols.play();\/\/播放声音文件或视频文件 } \/\/\/ 播放\/停止 功能 private void toolStripButton8_Click(...

c# 跨窗体关闭播放器控件
当然就又多了一个播放器。在form1里这样打开form2:Form2 frm = new Form2();frm.Owner = this;frm.Show();然后在form2里这样关闭:Form1 frm1;frm1 = (Form1)this.Owner;frm1.axWindowsMediaPlayer1.Ctlcontrols.pause();axWindowsMediaPlayer1要是public的 ...

C#控制MediaPlayer的问题,主要是想问问Ctlcontrols.play()他的实现机 ...
就差在那个 DoEvents 上了 private void button1_Click(object sender, EventArgs e){ AVIPlay(3, 5);AVIPlay(8, 9);} private void AVIPlay(double StartTime, double EndTime){ axWindowsMediaPlayer1.Ctlcontrols.currentPosition = StartTime;axWindowsMediaPlayer1.Ctlcontrols.play();while ...

在c#中我想在axWindowsMediaPlayer中一个文件播放完毕后触发一个...
axWindowsMediaPlayer 有个 PlayStateChange 事件,该事件返回播放的状态,可以触发播放完毕的事件。举例如下:private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e){ if (e.newState == 8){ MessageBox.Show("播放完毕");} } ...

C#中如何用axWindowsMediaPlayer1控件播放MP4?
wmp播放mp4之类的文件需要解码器支持,你可以先用你电脑上系统的windows media player播放一下mp4看看,多半是不行的。一般情况下安装一个诸如完美解码之类的就可以了。

相似回答