winform中 一个timer启动另外一个timer引起的问题

cykevin 2009-12-23 04:45:57
在winform窗体中,我在一个timer的事件处理程序中启动了另外一个timer。当我在第一个timer处理时关闭了窗体后,发现另外一个timer的事件处理然运行了。我现在要实现的是,关闭窗体后,timer立刻停止处理,这个要怎么实现,请高人解答。
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cykevin 2009-12-24
  • 打赏
  • 举报
回复
一时搞不清这种现象发生的具体条件,先结贴。
tianliang1 2009-12-23
  • 打赏
  • 举报
回复
我看了半天,你是说你的两个Timer没有在一个窗体里吧。。。
这样涉及到窗体间控制的问题
myrroom 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhonghuaweixu 的回复:]
在窗体的关闭事件中调用方法关闭两个timer 事件
[/Quote]
这种方法不可以吗?
cykevin 2009-12-23
  • 打赏
  • 举报
回复
唉,一时不知道该怎么简单地把这个现象呈现出来了。
cykevin 2009-12-23
  • 打赏
  • 举报
回复
你在非主窗体中测试一下。
cykevin 2009-12-23
  • 打赏
  • 举报
回复
楼上,你的整个程序只有一个FORM,这个窗体一关闭,当然什么都释放了。
googlegis 2009-12-23
  • 打赏
  • 举报
回复
2楼的应该还是可以的。随手测试了一下。

int i = 0;
int j = 0;

private void timer1_Tick(object sender, EventArgs e)
{
i = i + 1;
if (i == 2) // 启动timer2
{
timer2.Interval = 1000;
timer2.Enabled = true;
}
else if (i == 100) // 处理完毕后关闭窗体
{
timer1.Enabled = false;
this.Close();
}
}

private void timer2_Tick(object sender, EventArgs e)
{
j = j + 1;
}

private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 100;
timer1.Enabled = true;
timer2.Enabled = false;
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
timer2.Enabled = false; // 停止 timer2


if (timer2.Enabled == false)
{
MessageBox.Show("第二个已经停止");
}
}
风之影子 2009-12-23
  • 打赏
  • 举报
回复
在第二个需要关闭的timer窗口的timer事件里用一个字段来进行控制,如果这个字段的值改变就停止timer

在第一个窗体里控制这个字段的值
zhouxingyu896 2009-12-23
  • 打赏
  • 举报
回复
timer.Enabled=false

试试看
zhonghuaweixu 2009-12-23
  • 打赏
  • 举报
回复
在窗体的关闭事件中调用方法关闭两个timer 事件
lhy011 2009-12-23
  • 打赏
  • 举报
回复
应该可以的,写在被关闭的那个窗体的FormClosing事件中。
cykevin 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qlzf11140820 的回复:]
private void Form_FormClosing(object sender, FormClosingEventArgs e)
        {
            timer.Stop();
        }
[/Quote]
这个不管用,因为前一个timer的事件处理程序已经在运行了。
qlzf11140820 2009-12-23
  • 打赏
  • 举报
回复
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
timer.Stop();
}

111,120

社区成员

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

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

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