C# winform中timer函数如何停止,点运行后可再次启动周期事件

在MenuStrip1控件中,在Form1窗体没有添加timer1控件
运行RunMenu_Click
private void RunMenu_Click(object sender, EventArgs e)
{
//到达时间的时候执行事件,周期为10秒;
System.Timers.Timer timer1 = new System.Timers.Timer(10 * 1000);
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
//是连接sql,插入数据操作
}
停止StopMenu_Click,停止timer应该怎么实现呢
private void StopMenu_Click(object sender, EventArgs e)
{
??timer1 .Enabled = false; ??吗,timer1没有此参数。
RunMenu.Enabled = true;
StopMenu.Enabled = false;
}
运行可以,就是停止StopMenu不会写,Form1窗体没timer1控件
StopMenu_Click 函数应该怎么写,谢谢!!
嗯,得把timer1拿出来定义辉比较行的通。
但是按一楼的在函数外实例化不成功。汗....
应该怎么实例化啊

在外面定义一个变量,不要实例化
System.Timers.Timer timer1;
然后:
private void RunMenu_Click(object sender, EventArgs e)
{
//到达时间的时候执行事件,周期为10秒;
timer1 = new System.Timers.Timer(10 * 1000);
//这里不要定义变量!
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;
}
最后:
private void StopMenu_Click(object sender, EventArgs e)
{
timer1.Stop();
//这里停止计时
RunMenu.Enabled = true;
StopMenu.Enabled = false;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-16
//到达时间的时候执行事件,周期为10秒;
System.Timers.Timer timer1 = new System.Timers.Timer(10 * 1000);
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
private void RunMenu_Click(object sender, EventArgs e)
{

timer1.AutoReset = true; //设置一直执行(true)
timer1.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件

RunMenu.Enabled = false;
StopMenu.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
//是连接sql,插入数据操作
}
停止StopMenu_Click,停止timer应该怎么实现呢
private void StopMenu_Click(object sender, EventArgs e)
{
timer1 .Enabled = false;
RunMenu.Enabled = true;
StopMenu.Enabled = false;
}
这样就行了,把Timer1拿出来
不然会提示你Timer1未定义
第2个回答  2010-09-16
timer1.stop();
相似回答