以下是一个简单的示例,展示了如何在C# WinForms中创建一个按钮的异步事件,并使用Label控件来显示事件执行的时长。
首先,确保你已经在你的项目中添加了一个Button和一个Label控件。假设按钮的名称是btnAsync
,标签的名称是lblDuration
。
然后,在你的Form类中,添加以下代码:
csharp
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
btnAsync.Click += BtnAsync_Click;
}
private async void BtnAsync_Click(object sender, EventArgs e)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
await DoSomeAsyncWork();
stopwatch.Stop();
lblDuration.Text = $"操作耗时: {stopwatch.ElapsedMilliseconds} 毫秒";
}
private async Task DoSomeAsyncWork()
{
await Task.Delay(2000);
}
}
在这个示例中,我们使用了System.Diagnostics.Stopwatch
来测量事件执行的时长。当按钮被点击时,异步方法DoSomeAsyncWork
会被调用,并且在该方法完成之前,不会阻塞UI线程。在异步操作完成后,我们会更新Label控件的文本,显示操作耗时。
请确保你的项目引用了System.Diagnostics
命名空间,以便使用Stopwatch
类。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?