在C+中使用的加号是什么+。网络定时器 我试图学习如何使用C++ .NET定时器。在这里给出的示例中:

在C+中使用的加号是什么+。网络定时器 我试图学习如何使用C++ .NET定时器。在这里给出的示例中:,.net,timer,c++-cli,.net,Timer,C++ Cli,在代码中,它说: // Hook up the Elapsed event for the timer. aTimer->Elapsed += gcnew ElapsedEventHandler( Timer1::OnTimedEvent ); +=似乎过载了。在这种情况下,它意味着什么 此外,我不明白为什么在链接中的示例中,计时器会重复启动和停止,如其输出所示: The Elapsed event was raised at 5/20/2007 8:42:27 PM The Ela

在代码中,它说:

// Hook up the Elapsed event for the timer.
aTimer->Elapsed += gcnew ElapsedEventHandler( Timer1::OnTimedEvent );
+=似乎过载了。在这种情况下,它意味着什么

此外,我不明白为什么在链接中的示例中,计时器会重复启动和停止,如其输出所示:

 The Elapsed event was raised at 5/20/2007 8:42:27 PM
 The Elapsed event was raised at 5/20/2007 8:42:29 PM
 The Elapsed event was raised at 5/20/2007 8:42:31 PM

在我看来,它应该只开始和停止一次

它正在为计时器的已用事件添加事件处理程序

这类似于:

aTimer->Elapsed.AddHandler(gcnew ElapsedEventHandler(Timer1::OnTimedEvent));
如果有这样的功能

计时器调用构造函数中指定的ElapsedEventHandler函数,以通知用户设置的时间已过

关于第二个问题,文件中的第一段解释了这一点:

如果Enabled设置为true,AutoReset设置为false,则计时器 仅引发已用事件一次,这是间隔的第一次 过去了

很明显,逻辑上相同的语句是:如果AutoReset设置为true,计时器将无限期地引发经过的事件


另外,您可以将AutoReset设置为false,并从事件处理程序中调用Reset()函数。这允许您确保计时器回调不会重叠。

它正在为计时器的已用事件添加事件处理程序

这类似于:

aTimer->Elapsed.AddHandler(gcnew ElapsedEventHandler(Timer1::OnTimedEvent));
如果有这样的功能

计时器调用构造函数中指定的ElapsedEventHandler函数,以通知用户设置的时间已过

关于第二个问题,文件中的第一段解释了这一点:

如果Enabled设置为true,AutoReset设置为false,则计时器 仅引发已用事件一次,这是间隔的第一次 过去了

很明显,逻辑上相同的语句是:如果AutoReset设置为true,计时器将无限期地引发经过的事件


另外,您可以将AutoReset设置为false,并从事件处理程序中调用Reset()函数。这允许您确保计时器回调不会重叠。

谢谢您的回答,但很抱歉我做了一些编辑。你知道我问题的第二部分的答案吗?@dr_rk:备注中说:
如果Enabled设置为true,AutoReset设置为false,计时器只会在间隔第一次过去时引发一次经过的事件。
谢谢你的回答,但很抱歉我做了一些编辑。你知道我的问题的第二部分的答案吗?@德罗克:在注释中说:<代码>如果被启用,被设置为true,AutoReSt设置为false,计时器只会增加一次事件,第一次间隔时间过去。< /C> >将C++标签更改为C++ + CLI。上面的代码不是有效的C++,只有C++把C++标签挂在C++ +CLI上。上面的代码不是有效的C++,只有C++ +CLI