C# timer的问题

scut_zcm 2010-10-16 08:45:29
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
System.Timers.Timer t = new System.Timers.Timer(2000);


public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
t.AutoReset = true;
//t.Enabled = false;
}

private void Start_Click(object sender, EventArgs e)
{
t.Enabled=true;
t.Start();

}

private void Stop_Click(object sender, EventArgs e)
{
t.Enabled=false;
t.Stop();
}

public void t_Elapsed(object source, System.Timers.ElapsedEventArgs e)
{
MessageBox.Show(System.DateTime.Now.ToString());
}
}


}

我这段代码编译通过了,可是为什么点击Start按钮的时候并没有每个2秒弹出个messagebox呢?
...全文
70 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
scut_zcm 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zenghd 的回复:]
C# code

检查事件是否都关联上了

private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Form1_Load");
t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
t.AutoReset = tr……
[/Quote]

谢谢!
事件的关联上出了问题
ZengHD 2010-10-16
  • 打赏
  • 举报
回复

检查事件是否都关联上了

private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Form1_Load");
t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed);
t.AutoReset = true;
//t.Enabled = false;
}

private void Start_Click(object sender, EventArgs e)
{
MessageBox.Show("Start_Click");
t.Enabled=true;
t.Start();

}

private void Stop_Click(object sender, EventArgs e)
{
MessageBox.Show("Stop_Click");
t.Enabled=false;
t.Stop();
}
ZengHD 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 scut_zcm 的回复:]

引用 5 楼 zenghd 的回复:
代码没有问题

代码没问题那怎么没有Messagebox弹出呢?
那可能是哪儿出了问题呢?
[/Quote]
如果代码有问题,那为什么我这里能弹出Messagebox呢?
scut_zcm 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zenghd 的回复:]
代码没有问题
[/Quote]
代码没问题那怎么没有Messagebox弹出呢?
那可能是哪儿出了问题呢?
ZengHD 2010-10-16
  • 打赏
  • 举报
回复
代码没有问题
scut_zcm 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
t.Start();
开启
[/Quote]

在Start_Clisk函数下面有t.Start()
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
Timer timer=new Timer(1000);
timer.Elapsed+= new ElapsedEventHandler(timer_Elapsed);
timer.Start();
void timer_Elapsed(object sender, ElapsedEventArgs e)
{

}
Timer 在每次间隔结束时引发 Elapsed 事件为 true
_Will_ 2010-10-16
  • 打赏
  • 举报
回复
能弹出来啊
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
t.Start();
开启

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧