相关疑难解决方法(0)

将参数传递给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();
}
Run Code Online (Sandbox Code Playgroud)

我需要将处理程序添加到Timer类似的内容中:

myTimer.Elapsed += new ElapsedEventHandler(PlayMusicEvent(this, e, musicNote));
Run Code Online (Sandbox Code Playgroud)

但得到错误:

"方法名称预期"

编辑:在这种情况下,我只是从包含此代码片段的方法传递e,我将如何传递计时器自己的EventArgs

c# parameter-passing event-handling

94
推荐指数
2
解决办法
14万
查看次数

将参数传递给事件处理程序

在下面的代码中,我定义了一个事件处理程序,并希望从中访问age和name变量,而不是全局声明名称和年龄.有没有一种方法,我可以说e.agee.name

void Test(string name, string age)
{
    Process myProcess = new Process(); 
    myProcess.Exited += new EventHandler(myProcess_Exited);
}

private void myProcess_Exited(object sender, System.EventArgs e)
{
  //  I want to access username and age here. ////////////////
    eventHandled = true;
    Console.WriteLine("Process exited");
}
Run Code Online (Sandbox Code Playgroud)

c# events event-handling handler

28
推荐指数
2
解决办法
5万
查看次数

通过匿名代表取消订阅活动

我使用Resharper 5.1代码分析很多次我从resharper得到一个评论

"通过匿名代表取消订阅"

#Part of Code  

if (((bool)e.NewValue))
{
    listView.PreviewTextInput += (o,args) =>
        listView_PreviewTextInput(o,args,listView);
}
else
{
    listView.PreviewTextInput -= (o, args) => 
        listView_PreviewTextInput(o, args, listView);
}
Run Code Online (Sandbox Code Playgroud)

我怎么能纠正或优化这件事

c# wpf attachedbehaviors

17
推荐指数
2
解决办法
5600
查看次数

将参数传递给事件处理程序

我想List<string>使用我的事件传递我的参数

public event EventHandler _newFileEventHandler;
    List<string> _filesList = new List<string>();

public void startListener(string directoryPath)
{
    FileSystemWatcher watcher = new FileSystemWatcher(directoryPath);
    _filesList = new List<string>();
    _timer = new System.Timers.Timer(5000);
    watcher.Filter = "*.pcap";
    watcher.Created += watcher_Created;            
    watcher.EnableRaisingEvents = true;
    watcher.IncludeSubdirectories = true;
}

void watcher_Created(object sender, FileSystemEventArgs e)
{            
    _timer.Elapsed += new ElapsedEventHandler(myEvent);
    _timer.Enabled = true;
    _filesList.Add(e.FullPath);
    _fileToAdd = e.FullPath;
}

private void myEvent(object sender, ElapsedEventArgs e)
{
    _newFileEventHandler(_filesList, EventArgs.Empty);;
}
Run Code Online (Sandbox Code Playgroud)

从我的主要表格,我想得到这个列表:

void listener_newFileEventHandler(object sender, EventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

c# winforms

16
推荐指数
2
解决办法
5万
查看次数

如何将添加的本地对象变量传递给我的事件处理程序?

我想将本地对象传递给事件处理程序.我怎样才能做到这一点?例如,如何在事件处理函数"hyperlinkBut​​ton_Click"中引用在下面的main函数中声明的"graphic"对象?

    void main()
    {
        Graphic graphic = new Graphic();

        hyperlinkButton.Click+=new RoutedEventHandler(hyperlinkButton_Click);
    }

    void hyperlinkButton_Click(object sender, EventArgs e)
    {

    }
Run Code Online (Sandbox Code Playgroud)

c# silverlight events handler

2
推荐指数
1
解决办法
5385
查看次数