两个界面间的按钮事件调用(急,急,求各位帮助,刚注册的号,仅20分)

nanxiao84014021 2012-09-02 01:22:05
为了做一个好看的音乐播放器,我创建了2个Form,PlayerForm中加了windowsMediaPlaye(为播放器的主界面)r,PListForm就是个简单的播放列表(播放列表为listbox,背景透明的)。
第一个遇到的问题,搜了很多方法也没解决。
我的axwindowsMediaPlayer在PlayerForm中,但是播放列表是在PListForm中,以致于我在PListForm中无法调用到axwindowsMediaPlayer,求大神帮助。
第二个问题就是,我先在播放列表中双击名字就播放该歌曲(因为无法调用到axwindowsMediaPlayer,所以我打算调用主界面中的播放方法),但是不知道怎么在PListForm界面中调用PlayerForm中的play_Click事件。(play为主界面播放按钮)。
小弟是为了给朋友做一个生日礼物,初学C#,望各位大神帮帮忙。
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanxiao84014021 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

有些被调用的公共方法可以定义成静态方法试试
[/Quote]
谢谢,我已经解决问题了。但还是发现两个界面是不能相互调用的,只能由一个调用另外一个,另外一个就不能再调用这一个了。
coderdev 2012-09-02
  • 打赏
  • 举报
回复
有些被调用的公共方法可以定义成静态方法试试
Conmajia 2012-09-02
  • 打赏
  • 举报
回复
先把顺序想好,别到时候来回反复调,肯定错。
nanxiao84014021 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把click事件的签名从private改成public然后直接调用
[/Quote]
自己刚才想了下,确实逻辑就有问题,Form1 将Form2实例化,没问题,但要是在Form2中也实例化Form1。
就出问题了,Form2对Form1实例化,Form1调用Form2,那不是再对自己实例化?
nanxiao84014021 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把click事件的签名从private改成public然后直接调用
[/Quote]
请原谅我没问题说太清楚,刚才重新试了你的方法,我是在Form1中btn1 btn2,Form2中btn1 btn2,
我在Form1的btn1_click中调Form2的btn1_click事件成功,接着我在Form2中btn2_click调Form1中的btn2_click。
就失败,报异常!

因为我做的播放器涉及到两边都要调用的问题,在主界面点击按钮 才能打开播放列表界面,在播放列表界面里调用主界面的play_Click事件就不行了。
nanxiao84014021 2012-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

把click事件的签名从private改成public然后直接调用
[/Quote]
试过了,不行,我在PListForm中写了 private PlayerForm plm,然后plm.play_Click(sender,e)
并设置PlayerForm中play_Click为public。
的确能调用了,但click事件里的功能完全没实现。
Conmajia 2012-09-02
  • 打赏
  • 举报
回复
把click事件的签名从private改成public然后直接调用

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧