作者KENyroj (难得一身鸡蛋糕...)
看板C_Sharp
标题[问题] 请问 Timer 的处理... @@
时间Mon Feb 25 10:27:50 2008
各位好, 小弟要写一个监测的程式...
只要发生了某事件(比如说小鬼在哭), 就会取得他的一个字串(比如说小鬼的名字)
然後如果持续一段时间内(比如说10秒)这事件又发生了(小鬼又哭了)
那第二次发生的事件就视为没有(小鬼还没哭完, 只是换口气接着哭)
而这时间过了(十秒)没有再发生这事件, 代表这事件结束了(小鬼哭完了)
程式流程大概是这样:
[事件]小鬼哭了: 取得小鬼的名字, 看这小鬼是不是在哭哭清单内
Y: 这个小鬼的10秒重新计时
N: 把小鬼加入哭哭清单, 开始计时10秒, 记下小鬼开始哭的时间
[事件处理]计时10秒的时间到: 视为小鬼停止哭泣, 记下小鬼停哭时间
实作部份, 我目前是用一个 Dictionary<string, Timer> 来存放资讯
小鬼哭了事件一发生, 我就在这个 Dictionary 加入小鬼的名字 及其 Timer
又有小鬼哭的话, 我一样先取得在哭的小鬼名字,
如果 Dictionary 的 Key 有此名, 则它的Value(Timer)就 Stop() 再 Start()
否则, 就 new 一个 Timer, 把名字及 Timer 都加入 Dicrionary
那, 我的问题在... 要写计时时间到的 Event Handler ...
我不知道要怎麽在这个 EventHandler 里取得这个 Timer 物件 在 Dictionary 的 Key
我本来的想法是, 在 EventHandler 里取得这个 Timer 的 Key (也就是小鬼的名字)
然後才能记下小鬼停止哭泣的时间... 再把这个 Key 从 Dictionary remove 掉
但现在我不知道要怎麽取得这个 Key XD
不知有没有办法能解决我的问题... 或者是有其它作法可以参考??
谢谢大家看完
__yroj
--
KOKIA - ありがとう
もしも もう いちど 假使再一次
あなた に あえる なら 遇见你的话
たった ひとこと 只有一句话
つたえたい 想告诉你
http://home.so-net.net.tw/kenyroj/share/arigatou.swf
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.5.97