作者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
1F:推 leicheong:会闪的话应该看看Form.SuspendLayout()/ResumeLayout() 12/31 22:15
2F:→ leicheong:的用途. :P 12/31 22:15
3F:→ KanoLoa:感谢! 01/01 01:05
4F:推 Litfal:键盘这种键归键、盘归盘的东西,每个键的功能又很像,很适 01/01 01:09
5F:→ Litfal:合用2.做啊。位置倒不是大问题,大概就开始的切图片是多的 01/01 01:11
6F:→ Litfal:而且每个键长得又差不多,几乎只要切一个就可以全部套用了 01/01 01:12
7F:→ Litfal:甚至纯GDI都可以画出视觉效果还OK的键盘。 01/01 01:24
8F:→ KanoLoa:哦哦。因为美术人员已经画好图的情况下,2会需要更多配合 01/01 01:57
9F:→ KanoLoa:去掉键的键盘底图,每个键的图。但好处是键可以做切换动画 01/01 01:58