.net 计时器
.net 的后台代码中可以用计时器吗?eg:Timer
[解决办法]
你写xml文件的那段代码,最好是lock
类似:
private void WriteXML(string context){ lock { //你的代码逻辑 }}
[解决办法]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Collections;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Configuration;
using System.Threading;
using MySql.Data.MySqlClient;
namespace qxjshuju
{
public partial class qxjshuju : Form
{
delegate void SetTextCallback(string text);
//private Thread demoThread = null;
//private BackgroundWorker backgroundWorker1;
//用到的变量
ArrayList Zm_list;
ArrayList Zm_Name;
ArrayList starttime;
ArrayList endtime;
ArrayList windstation;
ArrayList windname;
ArrayList windstime;
ArrayList windetime;
public string strtext;
public bool sum;
public int con;
public bool st;
System.Timers.Timer t;
private MySqlConnection conn;
private SqlConnection innerconn;
private DataTable data;
private MySqlDataAdapter da;
private MySqlCommandBuilder cb;
public qxjshuju()
{
InitializeComponent();
sum = true;
st = true;
con = 0;
this.lblxszt.Text = "服务运行中";
if (st)
{
btnstart.Enabled = false;
}
t = new System.Timers.Timer(300000);//实例化Timer类,每5分种一次
t.Elapsed += new System.Timers.ElapsedEventHandler(ReadData);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
ReadData(null, null);
}
#region 线程数据提示语
private void ThreadProcUnsafe()
{
this.txtbox.Text = "This text was set unsafely.";
}
private void ThreadProcSafe()
{
this.SetText("This text was set safely.");
}
#endregion
#region 利用委托方法把内容显示在textbox上
private void SetText(string text)
{
if (this.txtbox.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.txtbox.Text = text;
}
}
#endregion
#region 函数入口
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new qxjshuju());
}
#endregion
#region 定时器方法调用
public void ReadData(object source, System.Timers.ElapsedEventArgs e)
{
//写入你要做的定时事件---这是你发挥的地方了哦!
}