c# - 在c#中创建时间事件

标签 c# events timer

我正在尝试创建一个事件,该事件在一定时间发生变化时执行函数。计时器是由另一个代码完成的,它应该调用 Plus(1),但这会改变所有计时器(如果我创建多个)吗?而且这段代码实际上并没有工作。

namespace @event
{
    class Program
    {
        static void Main(string[] args)
        {
            Tick tijd = new Tick();
            tijd.interval = 10;
            tijd.TijdVeranderd += new EventHandler(Uitvoeren);
            dynamic func = new Tick();

            for (int i = 0; i < 100; i++)
            {
                func.Plus(1);
            }

            Console.ReadLine();
        }

        static void Uitvoeren(object sender, EventArgs e)
        {
            Console.WriteLine("Uitgevoerd!");
        }
    }

    public class Tick
    {
        public event EventHandler TijdVeranderd;

        public int interval;

        private int tijd;

        public void Plus(int i)
        {
            tijd += 1;
        }

        public int Verander
        {
            get { return this.tijd; }
            set
            {
                this.tijd = value;

                if (tijd == interval)
                {
                    if (this.TijdVeranderd != null)
                        this.TijdVeranderd(this, new EventArgs());

                    tijd = 0;
                }
            }
        }

        public Tick() { }
    }
}

编辑:我不想使用 .net 计时器,我想创建自己的计时器。

最佳答案

只需使用 .net 计时器,如下所示:

        System.Timers.Timer aTimer = new System.Timers.Timer();
        aTimer.Elapsed += new System.Timers.ElapsedEventHandler(aTimer_Elapsed);
        aTimer.Interval = 1000;   //here you can set your interval
        aTimer.Start();

在这里您可以捕获事件并调用其他方法:

    void aTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        //TODO: call your method like "Plus"
    }

关于c# - 在c#中创建时间事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464999/

相关文章:

c# - 在 C# 中检测多个同时按键

c# - 如何在Unity 3D中使音频静音?

c# - SQLite 标量函数返回类型始终为字符串?

c++ - SDL(和其他)虚拟键输入

javascript - Node.js 无法读取未定义的属性 'on'

Silverlight定时器问题

c# - ZeroMQ C#HelloWorld示例

javascript - 如何防止事件处理程序在 javascript 中一次处理多个事件?

javascript - 在 JavaScript 中,是否有以毫秒为单位的一致分辨率的时间来源?

java - 如何在计时器内获取我的对象的实例