0

我想在每一次滴答声中做一些代码。

timer.Tick += new EventHandler(TabPage tab = new TabPage(Convert.ToString("test"));)

但这是错误的,我不记得如何正确执行此操作。

我不想调用任何其他类/void,我想直接在 EventHandler 中做一些代码。

4

2 回答 2

1

EventHandler ”是一个函数委托。Tick 事件期望您分配一个符合特定签名的函数名称。您可以通过两种方式分配新的事件处理程序:

传递一个与签名匹配的实际函数:

timer.Tick += new EventHandler(MyEventHandler); //This function will be executed every tick

//Somewhere below...
private void MyEventHandler(object sender, EventArgs args)
{
    //Do stuff here
}

或者,在 EventHandler 分配的同一位置使用匿名委托或lambda 函数

timer.Tick += new EventHandler((obj, args) =>
{
    /* Code here */
});
于 2013-05-12T11:41:07.670 回答
0

您可以使用Lambda这样做。

timer.Tick += new EventHandler((sender, args) => 
    {
        /* Your code */
    });
于 2013-05-12T11:42:29.960 回答