c# - 特定时间运行方法

标签 c# winforms

我正在 Windows 窗体 (C#) 中编写一个应用程序,我想在布局中设置一个区域,用户可以在其中定义给定的时间。

然后,当用户点击“开始”按钮时,每个给定的小时都会执行一个方法。

最简单的方法是什么?

最佳答案

一个简单的 WinForms 计时器就可以完成这项工作:

DateTime runTime;

public Form1() {
  InitializeComponent();
  DateTime nowTime = DateTime.Now;
  runTime = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 12, 0, 0);
  timer1.Interval = 500;
}

void timer1_Tick(object sender, EventArgs e) {
  if (DateTime.Now > runTime) {
    timer1.Stop();
    MessageBox.Show("It's time!");
  }
}

void button1_Click(object sender, EventArgs e) {
  timer1.Start();
}

只需用小时和/或分钟更新运行时间值即可。除非程序正在运行,否则警报显然不会被触发。正如汉斯指出的,这需要服务。

关于c# - 特定时间运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764104/

相关文章:

c# - 在更新表或将数据插入表之前将字符串转换为十进制

C# 将 DataGridView 中的更改提交到 DataTable

c# - BooleanQuery 无法使用 Lucene.net 3.0.3

c# - 带有 MonoDevelop 和 C# 的 twitter API

c# - 在 IL Emit 中将对象添加到循环列表 - 公共(public)语言运行时检测到无效程序

c# - 我怎样才能删除目录,包括里面的文件?

x.95 的 C# Math.Round 问题

c# - 协商不同域中的两个应用程序

c# - 如何在表达式窗口(本地报表)中引用文本框的值?

winforms - Powershell CLI 中的 GUI 和 PSRemoting