看板 C_Sharp 關於我們 聯絡資訊
各位版友好,我在設計虛擬的觸碰鍵盤時遇到了疑問,故來求教版上的大家開解。 若今天已經有一個鍵盤的圖片,要實作出每一個對應的鍵, 大家會想用什麼樣的設計方法去實做呢。 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