none
功能效率改善 RRS feed

  • 問題

  • 各位前輩周末好

    下圖是一個專案的輪廓

    A B C 都是大功能選項的圖示區

    主功能表就是點A,則在主功能表 出現A區塊的選項,大部分都是checkbox 的選項勾選.....BC 皆是

    由於PM希望把ABC功能區放在左邊,所以,不能用TabControl

    我目前是用一個From.vb(如圖示) 配合 UserControl A B C來做

    不過,我這個想法,效能不佳

    因為這案子是單機版,資料庫是用SQLite

    在Form Load 時,我就先insert 3個資料表這次資料

    從A換到B,我就要把A的值先update 到SQLite裡面,ABC只要換也是相同作法

    當換到ABC任何一個,我必須把之前的資料Get出來

    邏輯大概就是這樣

    請問各位前輩,這案子其實不難

    但是,效能真的不佳

    不知道能否跟大家請教是否有更棒的作法

    感謝大家!!!


    2014年8月9日 上午 08:52

解答

  • 效能瓶頸是出在 SQlite 還是 UserControl 切換, 這是你要先弄清楚的事.

    另外, 對資料庫的操作 (尤其是離開時要寫入資料這件事) 或許可以開另一個執行緒來做, 避免干擾 UI ; 不過遇到讀取顯示這就沒甚麼用了, 因為總要讀到資料才能顯示, 把讀取的行為放到執行緒中, 唯一的好處是如果讀取時間較長, 至少不會影響 UI 操作

    還有一種方式就是, 不要讓畫面呆住, 有時候真的在效率上沒辦法改善, 就在畫面上動手腳, 比如顯示個進度列或進度環之類的. 因為當有東西在動的時候, 使用者對時間的感受會比較不一樣


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 Alex_Lee 2014年8月9日 下午 01:28
    • 已標示為解答 GinoLin 2014年8月9日 下午 01:52
    2014年8月9日 下午 12:01
    版主
  • Windows Form 的 tab 以前有直的,現在不清楚。

    不過重點應該是 Tab 裡面只是容器,所以你開三個容器放你的控制項,對應到 A/B/C 預設隱藏,按到對應控制項的時候再顯示即可。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年8月9日 下午 03:15

所有回覆

  • 效能瓶頸是出在 SQlite 還是 UserControl 切換, 這是你要先弄清楚的事.

    另外, 對資料庫的操作 (尤其是離開時要寫入資料這件事) 或許可以開另一個執行緒來做, 避免干擾 UI ; 不過遇到讀取顯示這就沒甚麼用了, 因為總要讀到資料才能顯示, 把讀取的行為放到執行緒中, 唯一的好處是如果讀取時間較長, 至少不會影響 UI 操作

    還有一種方式就是, 不要讓畫面呆住, 有時候真的在效率上沒辦法改善, 就在畫面上動手腳, 比如顯示個進度列或進度環之類的. 因為當有東西在動的時候, 使用者對時間的感受會比較不一樣


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已提議為解答 Alex_Lee 2014年8月9日 下午 01:28
    • 已標示為解答 GinoLin 2014年8月9日 下午 01:52
    2014年8月9日 下午 12:01
    版主
  • Bill 大哥!

    再次謝謝您的解答

    我只是在想,用TabControl三個畫面其實都不需要做離開或是讀取的的動作

    只是 TabControl 是不是沒有垂直的功能?

    所以!很想試看看有沒有可以像TabControl的功能可以利用

    再次感謝!

    2014年8月9日 下午 01:55
  • 老實說, 我以前滿討厭用 TabControl 的, 現在因為改寫 WPF , 這種畫面設計的困擾少很多. 

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2014年8月9日 下午 03:01
    版主
  • Windows Form 的 tab 以前有直的,現在不清楚。

    不過重點應該是 Tab 裡面只是容器,所以你開三個容器放你的控制項,對應到 A/B/C 預設隱藏,按到對應控制項的時候再顯示即可。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年8月9日 下午 03:15
  • 了解!! 謝謝Bill 大哥的建議!
    2014年8月10日 上午 02:12
  • Windows Form 的 tab 以前有直的,現在不清楚。

    不過重點應該是 Tab 裡面只是容器,所以你開三個容器放你的控制項,對應到 A/B/C 預設隱藏,按到對應控制項的時候再顯示即可。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    天啊!!前輩!!

    你一語驚醒夢中人

    原來!!我一個地方寫錯

    改好了!!開心!!!已經達到TabControl的功能

    對應到 A/B/C 預設隱藏,按到對應控制項的時候再顯示即可  =>我的盲點!!囧!!謝謝前輩!!


    2014年8月10日 上午 02:14
  • 2014年8月10日 上午 03:46