2011-04-21 60 views
1

如何将参数传递给System.Windows.Forms.Timer系统窗体窗体计时器参数

private System.Windows.Forms.Timer timer; 
timer.Interval = 1000; 
timer.Tick += new EventHandler(timer_Tick); 
timer.start 

private void timer_Tick(object sender, EventArgs e) 
{ 

} 

如何传递对象的值sender

+0

你想实现什么,发送者是** Forms.Timer **,它将按照间隔集 – V4Vendetta 2011-04-21 05:30:45

+0

使用你的计时器的Tag属性作为userState ---检查更新的答案 – 2011-04-21 05:50:32

+0

谢谢回复它的工作正常 – 2011-04-21 12:31:54

回答

5

简单的计时器代码 - 在间隔时间结束时,不需要传递任何发件人的获取呼叫。

Timer t = new Timer(); 

    t.Interval = 2000; 

    timer1.Enabled = true; 

    timer1.Tick += new System.EventHandler(OnTimerEvent); 

//You can use Tag property of your timer as userState 

    void timer1_Tick(object sender, EventArgs e) 
    { 
     Timer timer = (Timer)sender; 
     MyState state = timer.Tag as MyState; 
     int x = state.Value; 
    } 

都期待本作的细节:http://www.c-sharpcorner.com/UploadFile/mahesh/WorkingwithTimerControlinCSharp11302005054911AM/WorkingwithTimerControlinCSharp.aspx

+0

但我想通过数据库行到计时器 – 2011-04-21 05:41:09

+0

Tag属性是类型的对象,所以你可以做't.Tag = myDatarow'和'time1_Tick()'事件处理程序,你可以读出它作为'的DataRow行= timer.Tag为DataRow的;'如果你遵循Pranay拉娜的回答 – Peter 2011-04-21 07:03:49

+0

感谢代码回复它的正常工作 – 2011-04-21 12:38:18

1

我想有一个标签财产上的定时器类。