C#Timer启动后怎么停止
时间: 2024-11-12 16:41:14 浏览: 30
在C#中,`System.Timers.Timer` 类用于异步地定期执行某个操作。如果你想要在启动后停止一个 `Timer`,可以按照以下步骤操作:
1. **创建 Timer 对象**:
```csharp
System.Timers.Timer timer = new System.Timers.Timer(间隔时间);
```
2. **设置 Timer 事件处理程序**:
```csharp
timer.Elapsed += Timer_Elapsed;
```
这里假设 `Timer_Elapsed` 是一个委托方法,会在定时器触发时被调用。
3. **启动 Timer**:
```csharp
timer.Start();
```
4. **停止 Timer**:
```csharp
timer.Stop();
```
当你需要取消计时器时,调用 `Stop()` 方法即可。
5. **释放资源**:
```csharp
// 在不需要时,记得释放 timer 的引用,以防内存泄漏
timer.Dispose();
```
如果你想在事件发生时就停止,可以在 `Timer_Elapsed` 方法中检查一个标志变量或者条件,并在满足的情况下调用 `Stop()`。
```csharp
private bool stopRequested;
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
if (stopRequested)
{
timer.Stop();
}
// 其他业务逻辑...
}
```
阅读全文