[问题] Winform 右下的滑动视窗出现时机

楼主: cingsyuan14 (SunnyDay)   2014-07-14 21:57:14
前辈们好,
菜鸟在下想要请问一个问题。
就是要如何做出像msn的滑动视窗?
我已经做出滑动的视窗了,目前都是要去点两下执行
但是我想要在某个资料被新增后,自动去触发这个视窗。
我原本的想法是设个timer,每秒去数据库里面查询
可是如果我有很多user同时开了那支程式,那数据库应该会挂掉吧= ="
然后,第二个问题是,我的资料表并没有一个flag会注记说已经触发过滑动视窗
那这样右下角的视窗不就会一直出现XDDDDD
我的想法是在每个使用者的本机端新增一份文字档,如果有触发过滑动视窗后
就把资料写到文字档里。
然后每次要触发滑动视窗前就先去查一下文字档的资料...
目前想法是这样,但不知道前辈们有没有其他更好的做法可以让我参考一下呢?
谢谢噜!
作者: Ammenze (蓝天白云)   2014-07-15 10:00:00
timer是一定要的,不过不需要每秒侦测一次,另外有些数据库(有些多打了)本来就要可以应付一定程度的大量资料存取
楼主: cingsyuan14 (SunnyDay)   2014-07-15 12:11:00
谢谢A大解说,不知道MSSQL的SERVER撑不撑得住XDD
作者: StupidGaGa (笨嘎嘎)   2014-07-15 14:16:00
你有分client/server吗?有的话可以考虑被动触发就是由server通知client:你开出来滑移下噜或者资料表应该都会有个CrateTime,你在多加一个叫ReadTim3表示这讯息被阅读的时间
楼主: cingsyuan14 (SunnyDay)   2014-07-15 15:02:00
S大,因为只是个小系统,目前没有分server/client,我也想不出有什么时机可以做被动触发,因为有可能使用者开启系统后就让他缩小在工作列的图示上了..
作者: StupidGaGa (笨嘎嘎)   2014-07-15 16:17:00
你自己都说,新增时触发,这样就是被动,不需要timer你要做的应该是把触发写成method,然后加在新增后面这样子你第二个问题就不成立,你的所有疑惑也解决类似的功能我玩过,实际上并没很复杂,你想太多了
作者: Ammenze (蓝天白云)   2014-07-15 16:38:00
他的意思应该是UserA新增时,UserB会跳出滑动视窗吧必须在系统中主动判断是否有新增再跳出滑动视窗第二个问题,在启动程式时,记录时间,判断有新增资料时间在这时间之后的就跳滑动视窗,跳出同时把原本记录的时间改为调出滑动的时间,每次都用这时间判断是否跳出过即可
作者: StupidGaGa (笨嘎嘎)   2014-07-15 16:49:00
@感谢楼上解释,这样的确要一个timer去跑如果要以“新增就滑出来”的化,可以考虑select count记录目前资料笔数,每次timer跑完后比对目前笔数有“增加”就滑出来
楼主: cingsyuan14 (SunnyDay)   2014-07-15 19:13:00
谢谢A大帮忙解说,看来我解释能力太差了= ="

Links booklink

Contact Us: admin [ a t ] ucptt.com