【发布时间】:2020-10-16 07:52:45
【问题描述】:
我正在尝试制作一个倒计时功能,当计时器到达 0 时它会停止。到目前为止发生的事情是,当计时器到达 0 时(并且我没有按下任何键),它会不断向我发送默认消息在我点击一个按钮之前它不会停止。
我想在OnTimedEvent 中插入一些代码,这将停止计时器(一旦它达到零,显示消息并停止向我发送垃圾邮件)。我尝试了aTimer.Stop aTimer.Enabled = false; 等的多种变体。
我收到一个错误
当前上下文中不存在名称“aTimer”。
代码:
使用系统;
使用 System.Timers;
命名空间 MyProject
{
课堂节目
{
静态无效主要(字符串 [] 参数)
{
Console.WriteLine("主线程仍在运行");
Console.WriteLine("按 X 拯救世界。");
Console.WriteLine("你有 10 秒!");
System.Timers.Timer aTimer = new System.Timers.Timer(1000);
aTimer.Elapsed += OnTimedEvent;
aTimer.Enabled = true;
ConsoleKeyInfo 输入 = Console.ReadKey(true);
开关(输入.KeyChar)
{
默认:
Console.WriteLine("废话");
aTimer.Enabled = 假;
休息;
}
Console.ReadKey();
}
私有静态 int _countDown = 10; // 秒
私有静态 bool dMade = false;
静态无效 OnTimedEvent(对象源,ElapsedEventArgs e)
{
如果(dMade == false)
{
如果 (_countDown--
【问题讨论】: