[問題] 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