作者KanoLoa (卡)
看板C_Sharp
標題[問題] 大量按鈕的配置
時間Tue Dec 31 11:21:30 2013
各位版友好,我在設計虛擬的觸碰鍵盤時遇到了疑問,故來求教版上的大家開解。
若今天已經有一個鍵盤的圖片,要實作出每一個對應的鍵,
大家會想用什麼樣的設計方法去實做呢。
1.以完整鍵盤圖當作底圖,在每一個鍵上個別拉一個panel或picturebox等元件蓋上,
設定元件為透明色,好處是可以直接產生滑鼠點擊屬性事件,大小位置也方便設定。
缺點是大量透明的元件會導致繪圖不順,容易發生鍵盤區塊閃爍的狀況。
2.將鍵盤圖乖乖拆開分割,每一個鍵都將圖片組合做好一個按鈕元件,個別設定事件。
好處是耦合低,繪圖效能可,隨時可自由編排鍵盤排列,缺點是前期費工。
3.直接放底圖,然後在監聽滑鼠事件中,重作每個鍵區域的碰撞偵測對應事件。
好處是繪圖效能最佳,缺點是要用程式碼來設定每一個區塊位置與大小,稍嫌繁瑣。
之前寫winform軟體很要求產出速度,所以常常用 1.的方法硬幹,
各種panel和picturebox用透明背景疊來疊去,當元件多的一個數量之後,
只要出現大量元件的切換出現,就會開始看到元件各種閃閃,
然後都跟客戶說這是一種科技特效,客戶心裡都讚好,做這麼快還加做特效。(...誤)
好不容易最近開始脫離大量產出,可以開發一些品質比較要求質感的產品,
正考慮是不是轉用WPF,自己查資料似乎比較適合做更精緻的互動效果。
以上疑問還懇請大家幫忙提供建議,感謝感謝。 m(_ _)m
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.244.92.91
推 leicheong:會閃的話應該看看Form.SuspendLayout()/ResumeLayout() 12/31 22:15
→ leicheong:的用途. :P 12/31 22:15
→ KanoLoa:感謝! 01/01 01:05
推 Litfal:鍵盤這種鍵歸鍵、盤歸盤的東西,每個鍵的功能又很像,很適 01/01 01:09
→ Litfal:合用2.做啊。位置倒不是大問題,大概就開始的切圖片是多的 01/01 01:11
→ Litfal:而且每個鍵長得又差不多,幾乎只要切一個就可以全部套用了 01/01 01:12
→ Litfal:甚至純GDI都可以畫出視覺效果還OK的鍵盤。 01/01 01:24
→ KanoLoa:哦哦。因為美術人員已經畫好圖的情況下,2會需要更多配合 01/01 01:57
→ KanoLoa:去掉鍵的鍵盤底圖,每個鍵的圖。但好處是鍵可以做切換動畫 01/01 01:58