C# 停止button在一个窗体中,axWindowsMediaPlayer1在另一个窗体中,我想按下button停止Player播放该怎么办
我直接在该button中写“PlayerFrm.axWindowsMediaPlayer1.Ctlcontrols.pause();”提示有错误:非静态的字段、方法或属性...
我直接在该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中axWindowsMediaPlayer1的Modifiers设置为public
然后得在Form1的全局变量中添加Form2 fm2 = new Form2();
在Form1的适当位置写上fm2.Show();让fm2弹出。
在你的Form1的按钮事件中写上fm2.axWindowsMediaPlayer1.Ctlcontrols.pause();就行了
为什么会出现这个错误提示呢,因为你没有将实例化以后的对象拿来用,而是直接使用了窗体类。
追问
这样form2就会再次弹出一个窗体,等于界面上有两个一样的窗体,怎么让任何窗体只出现一次?
追答
你邮箱多少,我直接发你
展开全部
在PlayerFrm中定义一个public方法 PauseWMP,方法中写暂停播放的代码:axWindowsMediaPlayer1.Ctlcontrols.pause();
最后在按钮点击事件中写PlayerFrm.PauseWMP();
-----
关于51sx 的回答
设置控件为public貌似不能实现,必须是public和static才行.虽然可以在窗口自动生成的代码中强制更改为静态,但是只要移动了控件就会重新自动生成,又变回去,所以比较麻烦
最后在按钮点击事件中写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控件所在的窗口
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询