有什么办法禁止两个事件同时运行

解决方案 »

  1.   

    Singleton 吧,只存在一个实例,如果已经有一个实例了,就不再初始化了。
      

  2.   

    using System.Threading;object obj = new object();private void button1_Click(object sender, EventArgs e)
    {
        lock(obj)
        {
        }
    }private void timer1_Tick(object sender, EventArgs e)
    {
        lock(obj)
        {
        }
    }
      

  3.   

    定义个公共变量,比如bool ifRunning= false;
    void A()
    {
    if(!ifRunning)
    ifRunning=true;

    ifRunning=false;//结束时}
    void B()
    {
    if(!ifRunning)
    ifRunning=true;

    ifRunning=false;//结束时}}
      

  4.   

    void 事件1
    {
         //取消订阅事件2
         your code......
         //订阅事件2
    }void 事件2
    {
         //取消订阅事件1
         your code......
         //订阅事件1
    }