拖的Timer只执行一次就不执行了
1定义一个Timer类型的变量
2定义一个开启计时器的方法,这样每次用时都开启计时器
3.在使用到它的地方,都进行实例化
4.这样就不会出现运行一次,第二次以后就不运行的情况了
#region 屏保计时器
System.Timers.Timer t_ScreenSaver;
///
/// 重新开启屏保计时器
///
void OpenScreenServerTimer()
{
t_ScreenSaver = new System.Timers.Timer();
t_ScreenSaver.Interval = Common.GetScreenSaverTime();
t_ScreenSaver.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
t_ScreenSaver.AutoReset = true;//是否一直执行,false只执行一次
t_ScreenSaver.Enabled = true;
t_ScreenSaver.Start();
}
System.Timers.Timer t_ScreenSaver;
///
/// 重新开启屏保计时器
///
void OpenScreenServerTimer()
{
t_ScreenSaver = new System.Timers.Timer();
t_ScreenSaver.Interval = Common.GetScreenSaverTime();
t_ScreenSaver.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
t_ScreenSaver.AutoReset = true;//是否一直执行,false只执行一次
t_ScreenSaver.Enabled = true;
t_ScreenSaver.Start();
}
void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{//运行屏保
if (File.Exists(Application.StartupPath + " \\ScreenSaver.exe"))
{
System.Diagnostics.Process.Start(Application.StartupPath + " \\ScreenSaver.exe");
}
else { CreateLog("找不到屏保程序", IsCreatelog); }
}
#endregion
{//运行屏保
if (File.Exists(Application.StartupPath + " \\ScreenSaver.exe"))
{
System.Diagnostics.Process.Start(Application.StartupPath + " \\ScreenSaver.exe");
}
else { CreateLog("找不到屏保程序", IsCreatelog); }
}
#endregion
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-700439/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23109131/viewspace-700439/