ティックごとにコードを実行したい。
timer.Tick += new EventHandler(TabPage tab = new TabPage(Convert.ToString("test"));)
しかし、これは間違っています。これを正しく行う方法を覚えていません。
他のクラス/ボイドを呼び出したくありません。EventHandler で直接コードを実行したいのです。
「EventHandler」は関数デリゲートです。Tick イベントは、特定の署名に準拠する関数名を割り当てることを期待しています。次の 2 つの方法で、新しいイベント ハンドラーを割り当てることができます。
署名に一致する実際の関数を渡します。
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 割り当てと同じ場所で使用します。
timer.Tick += new EventHandler((obj, args) =>
{
/* Code here */
});
Lambdaを使用して、このようにすることができます。
timer.Tick += new EventHandler((sender, args) =>
{
/* Your code */
});