C#类实例specfic timer逝去事件

时间:2017-01-03 17:49:50

标签: c# timer

在我的程序中,我需要生成一个类为“Vehicle”的实例,当类定时器达到一个间隔时,Vehicle类中有一个定时器,以及一个布尔“vExists”。

class VehicalGen
{
    private Random rn1 = new Random();

    private int agrotime;
    private bool vExists;
    //static AgrivationHandler agroTimeHandler;
    private static Timer agroTimer = new Timer(100);

    //agrotime: anywhere between 2 and 4 seconds (2000 to 4000)

    ///Generates the new Vehicles using GetCarType to change the outcome of the later variables
    public VehicalGen()
    {
        this.vtype = RandomGeneration.GetCarType(rn1);
        switch (this.vtype)
        {
            [....] //This is where the details of the vehicle are generated.
        }
        this.agrotime = RandomGeneration.GetRandomTime224(rn1);
        this.vExists = true;
        this.serviced = false;
        //agroTimeHandler = new AgrivationHandler(agrotime);
        agroTimer.Interval = agrotime;
        agroTimer.Elapsed += AgroTimerElapsed;
        agroTimer.Start();
    }

    public static void AgroTimerElapsed(object sender, ElapsedEventArgs e)
    {
        //here is where I need to set vExists to "False"
    }
}

但是我需要生成该类的特定实例,因为它不喜欢“this.vExists = false”,它只是错误。

1 个答案:

答案 0 :(得分:0)

是的可能。 请尝试以下方法:

private void LoadTimer()
   Timer timer = new Timer
   timer.Interval = 4000;
   timer.Enabled = true; 
   timer.Tick += new EventHandler(timer1_Tick);
   timer.Start(); 
}

private void timer1_Tick(object sender, EventArgs e)
{
   // do your boolean operation where
}