2015-06-11 95 views
-1

所以,我对C#编程颇为陌生,我有一位朋友帮助我。他做了这样的代码:有人可以向我解释这是什么吗?

private void Form1_Shown(object sender, EventArgs e) 
    { 
     System.Timers.Timer t = new System.Timers.Timer(50); 

     t.Elapsed += t_Elapsed; 

     t.Start(); 
    } 

    void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     ((System.Timers.Timer)sender).Stop(); 

     DisplayOrder(); 
    } 

这是用来暂停程序一段短暂的时间,然后它“重置”。

权evnthandler本身上面,它是用来这样一个 “label_Click” 事件处理程序:

  System.Timers.Timer t = new System.Timers.Timer(500); 

      t.Elapsed += t_Elapsed; 

      t.Start(); 

回答

0
private void Form1_Shown(object sender, EventArgs e) // Shown is an event that occurs when the form is first shown 
{ 
    System.Timers.Timer t = new System.Timers.Timer(50); // This creates a new timer with an interval of 50 ms 

    t.Elapsed += t_Elapsed; // The timer is assigned event for when the interval has elapsed - when 
          // started the, the elapsed event will occur when the given interval 
          // has elapsed (in this case 50ms) 

    t.Start(); // Starts the timer 
} 
1

,创建一个定时器t这将调用处理器(t_Elapsed)每隔50ms。处理程序将禁用定时器并调用DisplayOrder - 这意味着处理程序将被调用一次。

基本上,它在致电DisplayOrder之前等待50ms。你可能会这样做,而不是:

private async void Form1_Shown(object sender, EventArgs e) 
{ 
    await Task.Delay(50); 
    DisplayOrder(); 
} 
相关问题