最近看到一句代码是这样写的,
void ShowTipOfTheDay(object sender, EventArgs e)
{
Application.Idle -= ShowTipOfTheDay;

// show tip of the day

}
请问一下,Application.Idle -= ShowTipOfTheDay;是什么意思啊?

解决方案 »

  1.   

    与事件挂钩   从声明事件的类外看,事件像个字段,但对该字段的访问是非常受限制的。只可进行如下操作: 
    在该字段上撰写新的委托。 
    从字段(可能是复合字段)移除委托。 
    使用 += 和 -= 运算符完成此操作。为开始接收事件调用,客户代码先创建事件类型的委托,该委托引用应从事件调用的方法。然后它使用 += 将该委托写到事件可能连接到的其他任何委托上。 
    // Add "ListChanged" to the Changed event on "List":
    List.Changed += new ChangedEventHandler(ListChanged);
    当客户代码完成接收事件调用后,它将使用运算符 -= 从事件移除其委托。 
    // Detach the event and delete the list:
    List.Changed -= new ChangedEventHandler(ListChanged);