创建一个应用程序以使用C#配置Timer

时间:2018-10-24 06:21:14

标签: c#

我用C#创建了一个应用程序,该应用程序每30分钟将一个ListView值返回到.txt文件。

我想在此应用程序上创建一个按钮,使用户可以在不修改代码的情况下更改Timers的值,即用于配置计时器的按钮,例如Visual Studio上的Timer属性。

更新

private async void timer2_Tick(object sender, EventArgs e)
{
   //create file 
   using (TextWriter tw = new StreamWriter(@"C:\Users\pc\List.txt"))
   {
      foreach (ListViewItem item in lvDetails.Items)
      {
          await tw.WriteLineAsync(item.SubItems[0].Text + "\t" + item.SubItems[1].Text + "\t" + item.SubItems[2].Text + "\t" + item.SubItems[3].Text + "\t" + item.SubItems[4].Text + "\t" + item.SubItems[5].Text + "\t" + item.SubItems[6].Text);
      }
   }
}

1 个答案:

答案 0 :(得分:0)

在表单上添加一个文本框,您可以在其中输入间隔,然后在onclick事件中执行一个按钮,并执行类似的操作。请记住,时间间隔以毫秒为单位,因此,如果要在文本框中输入秒或分钟的输入,则需要满足此要求。将时间间隔乘以1000(秒)和60000(分钟)

timer2.enabled = false;
int interval;
if(int.TryParse(textbox1.Text, out interval))
{
  timer2.interval =  interval;
  timer2.enabled = true;
}
else
  throw new ArgumentException("Invalid number");

更新:

如果设置间隔的应用程序与计时器实际所在的位置相同,则有几种方法可以实现此目的。

  1. 您可以使用简单的客户端/服务器套接字解决方案将新间隔发送到计时器应用程序。
  2. 您可以使用消息服务将消息发送到计时器应用程序。
  3. 您可以使用数据库或类似数据库(nosql,SQLite等)来保存计时器应用程序的配置。 Times应用程序将在每个刻度上读取间隔值并进行设置,或类似的设置,setter应用程序会将值保存在db中。

希望这会有所帮助。