迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中重置计时器

作者:迹忆客 最近更新:2024/01/16 浏览次数:

本文将讨论使用 C# 编程语言重置计时器。


C# 中的 System.Timer

C# 中的这个 System.Timer 类提供了一种机制,可以在经过一定时间后执行一段代码,并且这段代码可能会被执行多次。


C# 中使用 Timer.AutoReset 重置计时器

当计时器的 interval 结束时,AutoReset 允许它自行重置并再次从 0 开始计数。如果 enabled 属性设置为 true,则倒计时将开始,但如果将其设置为 false,则需要通过调用 Start() 方法来重新启动计时器。

当程序的定时器功能已经完成时,程序应该被终止并且它的资源可以在其他上下文中使用。换句话说,Timer.AutoReset 读取或写入一个布尔值,该值指示计时器应该只引发一次 false 还是多次 true 引发 Elapsed 事件。

AutoReset 事件的语法如下。

public bool AutoReset { get; set; }

这种事件可以用于各种事情,但它特别适合在 Web 应用程序中使用以确定连接的状态。在视频游戏期间使用的秒表是另一种潜在用途。

下面的示例演示如何构造一个带有 Elapsed 事件的 Timer,该事件在 2 秒过去时触发。然后控制台会显示 My name is DelftStack 作为相关事件处理程序的输出。

  1. 首先,我们必须导入以下库。

    using System;
    using System.Timers;
    
  2. Shanitimer 类中声明计时器变量,我们将其称为 t,确保它可用于所有方法。

    private static System.Timers.Timer t;
    
  3. 我们将按照内置类设置一个计时器。

    • AutoReset 计时器会在经过一个间隔后重置并开始新的计数。如果设置为 false,则必须重置计时器。
    • 2000 是可以根据情况更改的时间间隔。你可以在设置 Interval 参数后以 毫秒 为单位指定要在运行所需代码之前等待多长时间。
    t.AutoReset = true;
    t.Enabled = true;
    t.Interval = 2000;
    t.Elapsed += ontime;
    
    • Elapsed 属性指定要在该时间之后运行的函数。在 C# 中定义事件处理程序可以使用+= 更快地完成,就像我所做的那样,它指示计时器订阅事件处理程序。
  4. 我们还在控制台上显示了一些警报消息。

    Console.WriteLine(" Waiting for Command ");
    Console.WriteLine(" Click on Enter Button to Exit Console ");
    Console.ReadLine();
    
  5. 使用 Stop() 函数停止计时器。Dispose() 函数应该用于在计时器完成运行后释放它所消耗的任何资源。

    t.Stop();
    t.Dispose();
    
  6. ontime() 方法需要 ObjectSystem.Timers.ElapsedEventArgs s 参数。

    private static void ontime(Object source, System.Timers.ElapsedEventArgs s) {
      Console.WriteLine(" My name is DelftStack ");
    }
    

完整源代码:

using System;
using System.Timers;

class Shanitimer {
  private static System.Timers.Timer t;
  static void Main() {
    t = new System.Timers.Timer();
    t.AutoReset = true;
    t.Enabled = true;
    t.Elapsed += ontime;
    t.Interval = 2000;
    Console.WriteLine(" Waiting for Command ");
    Console.WriteLine(" Click on Enter Button to Exit Console ");
    Console.ReadLine();
    t.Stop();
    t.Dispose();
  }
  private static void ontime(Object source, System.Timers.ElapsedEventArgs s) {
    Console.WriteLine(" My name is DelftStack ");
  }
}

输出:

Waiting for Command
Click on Enter Button to Exit Console
My name is DelftStack
My name is DelftStack
//After this line, I pressed enter

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中发出 HTTP POST Web 请求

发布时间:2024/02/04 浏览次数:131 分类:编程语言

在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求

在 C# 中调整图像大小

发布时间:2024/02/04 浏览次数:203 分类:编程语言

有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保

在 C# 中下载图片

发布时间:2024/02/04 浏览次数:138 分类:编程语言

有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据

在 C# 中使用秒表

发布时间:2024/02/04 浏览次数:139 分类:编程语言

我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。

在 C# 中获取可执行路径

发布时间:2024/02/04 浏览次数:200 分类:编程语言

有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便