将参数传递给EventHandler
我EventHandler
添加了以下参数MusicNote
音乐:
public void PlayMusicEvent(object sender, EventArgs e,MusicNote music){
music.player.Stop();
System.Timers.Timer myTimer = (System.Timers.Timer)sender;
myTimer.Stop();
}
我需要Timer
像这样添加处理程序:
myTimer.Elapsed += new ElapsedEventHandler(PlayMusicEvent(this, e, musicNote));
但得到错误:
“预期方法名称”
编辑:在这种情况下,我只是从包含此代码片段的方法中传递e,我将如何传递计时器自己的EventArgs
?
回答:
Timer.Elapsed
期望具有特定签名的方法(带有参数object
和EventArgs
)。如果要 *
myTimer.Elapsed += new ElapsedEventHandler((sender, e) => PlayMusicEvent(sender, e, musicNote));
您也可以使用较短的版本:
myTimer.Elapsed += (sender, e) => PlayMusicEvent(sender, e, musicNote);
以上是 将参数传递给EventHandler 的全部内容, 来源链接: utcz.com/qa/409040.html