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

我直接在该button中写“PlayerFrm.axWindowsMediaPlayer1.Ctlcontrols.pause();”提示有错误:非静态的字段、方法或属性... 我直接在该button中写“ PlayerFrm.axWindowsMediaPlayer1.Ctlcontrols.pause();”提示有错误:非静态的字段、方法或属性“Playersystem.PlayerFrm.axWindowsMediaPlayer1”要求对象引用。 展开
 我来答
全代杰
2012-04-30 · TA获得超过685个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:161万
展开全部
假如你的按钮在Form1中,axWindowsMediaPlayer1在Form2中
首先将Form2中axWindowsMediaPlayer1的Modifiers设置为public
然后得在Form1的全局变量中添加Form2 fm2 = new Form2();
在Form1的适当位置写上fm2.Show();让fm2弹出。
在你的Form1的按钮事件中写上fm2.axWindowsMediaPlayer1.Ctlcontrols.pause();就行了

为什么会出现这个错误提示呢,因为你没有将实例化以后的对象拿来用,而是直接使用了窗体类。
追问
这样form2就会再次弹出一个窗体,等于界面上有两个一样的窗体,怎么让任何窗体只出现一次?
追答
你邮箱多少,我直接发你
司馬尘恋
推荐于2016-03-15 · TA获得超过1101个赞
知道小有建树答主
回答量:427
采纳率:0%
帮助的人:597万
展开全部
在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控件所在的窗口
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式