「玩一玩」手把手教学帖:跟我一起学控件,仿制最新版DevExpress里的小控件(持续更新)
--------------------编程问答-------------------- --------------------编程问答----------------------------------------编程问答-------------------- 楼主 我觉得你该学习下WPF了。 WPF才是你发挥的舞台。 根本不用依靠什么第三方的dev控件。 不用自己痛苦的用GDI+绘制控件。 玩转样式,玩转模板, 玩转数据绑定, 玩转WPF ,winform滚一边去去吧。 --------------------编程问答-------------------- 支持技术帖,以前用过它的报表库,比MS的水晶报表性能要好得多 --------------------编程问答--------------------
楼主 我觉得你该学习下WPF了。 WPF才是你发挥的舞台。 根本不用依靠什么第三方的dev控件。 不用自己痛苦的用GDI+绘制控件。 玩转样式,玩转模板, 玩转数据绑定, 玩转WPF ,winform滚一边去去吧。
轻浮狗头笑而不语 --------------------编程问答--------------------
楼主 我觉得你该学习下WPF了。 WPF才是你发挥的舞台。 根本不用依靠什么第三方的dev控件。 不用自己痛苦的用GDI+绘制控件。 玩转样式,玩转模板, 玩转数据绑定, 玩转WPF ,winform滚一边去去吧。
轻浮狗头笑而不语
10分钟能走完的路程, 要用20分钟绕着走。 轻浮猪头笑而不语。 --------------------编程问答-------------------- 1 --------------------编程问答--------------------
all by conmajia.
看到caozhy的《手把手教编程,不知道有没有人愿意参与》帖子,希望通过手把手教学,一方面提高教学效率,另一方面也排除掉了伸手党。出发点是不错的。
在论坛逛了差不多一年,觉得就论坛来说,还是新手居多。
我不靠编程吃饭,所以对掌握新知识没什么动力,会的东西看起来比较老旧。
尽管如此,还是希望能以我老旧的知识,给有需要的新手一点提示和参考。
有兴趣参与的,可以和我一起动手制作。
---------------------------
note: 这个帖子持续更新,不会一下子写完。
这个东西是很早前做着玩的。源代码我好像删掉了,只剩下博客里的截图。
因为我有点忘了,所以我也只有一边重新思考编程,一边写帖子。
不过有个好处就是时间比较长,我会详细把从0开始的整个分析、设计、实现的思路和全过程写出来。
另一个好处就是你也可以跟着我一步一步动手实战,可以自己思考整个过程,而不是一次下载完源代码然后像狗一样趴在屏幕上看。
当完成全部内容后,我再放上源代码。
--------------------------
下文涉及的内容,限于.NET 2.0,如果你常用的是WPF,我只能说仅供参考。
如果你问为什么不用WPF,我只能回答俩字儿:不会
---------------------------
扯了这么多,先来说说我打算做什么。
DevExpress是Developer Express的缩写,DevExpress是一家全球知名的控件开发公司。
DevExpress的控件有很强的实力,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。
它就是“专业”的代名词。(至少会让你“看起来”很专业)
虽然它很牛逼,但我是买不起的。(不是搞软件的,买来没法产生效益)
在某次上网的时候,我发现DevExpress推出了最新版12.2(刚查了下,现在是13.1,但外观无变化)
它的网页上提供了一张截图:
看起来很酷很METRO对吧?萝卜青菜,各有所爱。我还是比较喜欢这种风格。
然后我就对这个部分比较感兴趣
两个表头。(仪表的表)
虽然这个据说是WPF做的,但很明显,我在WinForm里祭出GDI+也是可以实现,于是我就开始了仿制。
先把最终效果放出来
这是静态的,100%还原度,下面是动态操作演示。因为动画压缩了,所以有点不清晰。凑合着看吧
还是那句话,100%还原度。
--------
介绍先到这里,下面我会在回帖里从新建VisualStudio工程开始,讲解怎样通过一张截图,来分析、设计和实现(山寨)别人的产品(学习借鉴)。
note:回帖时间不固定
明明有更好的方式可以解决, 非要走歪路,走远路。 不好意思楼猪,我跟你思想截然不同。 有更好的东西自然会去选择更好的。 守旧不是明智的选择。 --------------------编程问答-------------------- 不管怎样,有这个心还是不错,支持一下 --------------------编程问答-------------------- 你是不是觉得winform很好玩? 那是因为你没有体会过WPF的强大之处。
劝你静下来来潜心研究一下WPF ,再回头来写写这些所谓的第三方控件。 你会发现 winform真的太他妈易做图了! --------------------编程问答--------------------
你是不是觉得winform很好玩? 那是因为你没有体会过WPF的强大之处。
劝你静下来来潜心研究一下WPF ,再回头来写写这些所谓的第三方控件。 你会发现 winform真的太他妈易做图了!
不管怎样,有这个心还是不错,支持一下
可惜有易做图看不懂我想表达的到底是什么。。码畜就是码畜,跳不出养它的圈。。。 --------------------编程问答-------------------- 问一个比较傻的问题。屏幕录像做成gif有没有高效的工具? --------------------编程问答--------------------
问一个比较傻的问题。屏幕录像做成gif有没有高效的工具?
还有我觉得楼主的出发点:就是想要给初学者多一些指导,让他们少走些弯路。而不是让初学者盲目的去追求一些什么什么wpf,什么什么语言多牛逼。
其实这直接反应出一些童鞋在沟通上的问题,当然我也看过楼主之前写的一些帖子都很不错,对东西的描述非常清楚透彻,可以说我受教很多,也明白了一些疑惑的问题。 --------------------编程问答--------------------
恩。 好。。
不管怎样,有这个心还是不错,支持一下
可惜有易做图看不懂我想表达的到底是什么。。码畜就是码畜,跳不出养它的圈。。。
支持一下楼主,还希望楼主心态平淡些,不要理会恶意回复,
我本来想批评一下个别人,可是当我把鼠标移到那个人的头像上的时候,就觉得没有必要了 --------------------编程问答-------------------- 这个贴子,真的找不到什么理由不顶,也不明白那些恶评的人怎么想的。。。
鄙视他们,好像自己很厉害一样。。。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 支持一个。GDI+、 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 赞一个 --------------------编程问答-------------------- 支持,顶一个 --------------------编程问答-------------------- 感谢楼主分享 --------------------编程问答-------------------- 支持,毕竟是分享
还是好的
--------------------编程问答-------------------- 学习了,谢谢! --------------------编程问答-------------------- 支持楼主
--------------------编程问答-------------------- 问个问题 gdi+画出的圆有锯齿怎么吧? 开了anti锯齿也不行 --------------------编程问答-------------------- --------------------编程问答-------------------- 有些人一定要别人按照他们的意思去做,对这种人我只能说:
小学生回家写作业去吧 --------------------编程问答-------------------- 不错啊,我学习拉 --------------------编程问答-------------------- --------------------编程问答-------------------- 学习了,谢谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 感觉略困。。轻松的周末。。
现在开始分析这两个表头
首先,一眼就能看出来,这两个东西是指针式的表头,就像现实中的机械表头(相信你一定见过)
第二个可能你一下子看不出来,很明显它是一个悬浮式的表头,就像下面的Harry Winston腕表一样
现在先来分析第一个表头
根据现实的表头,可以知道,它的行动模式应该是根部固定,指针在表盘范围内来回摆动,就像这样
将它拆分开来(为了便于识别,我给每个部分都编了号)
--------------
说个题外话,很多新手学了一招半式,尤其是什么“技巧”、“模式”之类的,在遇到问题的时候,脑子里总是不能集中在思考问题上,而是纠结在某个比较好入手的点上去想它究竟该怎么具体实现,怎么编码,用哪种模式好,要分几个类,等等。如果你有这种情况,请及时抽自己一嘴巴,告诫自己:先把问题思考完分析完再去想实现!
------------
再来看A3,指针的形状看起来比较复杂,还要留出A4固定栓的孔位。A4就比较简单了,就是一个圆。
现在各部分都分拆完毕,来分析下它们的本质。
可以很清楚的看到,A1和A2都是扇环,类似这样
放大点
先记在这里,一会再考虑怎么实现。
A3虽然形状比较复杂,但你在这里是做软件的,不是做硬件,没必要把真实世界里的东西1:1照搬过来。当你觉得参照实物难以实现的时候,你就需要变通了。A3说起来复杂,但这里是平面化的视觉效果,那么就可以利用这个进行简化,就像这样
那根细细的牙签指针,可以看成是一个很窄的梯形,或者三角形也行,随你喜好,因为原图比较模糊,所以到时候看看实际效果,差不多就行了。
既然指针都已经“变通”了,那么之前分析的A1和A2两个扇环,还是显得复杂了点,进一步简化,将它们“变通”成两个扇面
-----------
最后,按照层次把所有元件都排列一下
---------------
现在可以动手编码了。。吗?
别着急,你没看见第二个表头和这个很类似吗?,等分析完了再说,没准还能用上你天天玩了命都想用到项目里的牛逼的设计模式呢。。。
----------
分析第二个表头
(未完待续) --------------------编程问答--------------------
问个问题 gdi+画出的圆有锯齿怎么吧? 开了anti锯齿也不行
我想说我画的就没有。。人品不给力?
问个问题 gdi+画出的圆有锯齿怎么吧? 开了anti锯齿也不行
我是来围观猪腿子的
野比,我以前也做过一个类似的,用在证券软件中
--------------------编程问答--------------------
野比,我以前也做过一个类似的,用在证券软件中
good,欢迎指导 --------------------编程问答-------------------- 编程?我想要啊,可是怎么觉得这和我之前接触的一点都不一样 --------------------编程问答-------------------- 这个比windows程序设计上画钟表的那个难???
但是楼主这么有耐心从网上弄实物截图,教学精神可嘉 --------------------编程问答--------------------
问一个比较傻的问题。屏幕录像做成gif有没有高效的工具?
FSCapture可以吧。。 --------------------编程问答-------------------- 很好很强大,谢谢 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 很好很强大,谢谢! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 玩转样式,玩转模板, --------------------编程问答-------------------- --------------------编程问答-------------------- 支持楼主,现在网上学习越来越重要了,需要更多象楼主这样的人 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- good,挺不错 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 不错不错,感谢分享 --------------------编程问答-------------------- 不错不错,感谢分享 --------------------编程问答-------------------- 不错不错,感谢分享
--------------------编程问答-------------------- 很不错, DX的控件不仅是界面 --------------------编程问答-------------------- 又能看到野比的帖子了. 顶一个. --------------------编程问答--------------------
你是不是觉得winform很好玩? 那是因为你没有体会过WPF的强大之处。
劝你静下来来潜心研究一下WPF ,再回头来写写这些所谓的第三方控件。 你会发现 winform真的太他妈易做图了!
如果你能写一个winform出来,我就觉得winform很SB,否则我就认为你很SB。 --------------------编程问答-------------------- 这个看丐来应该是不错的 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 必须要顶啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 支持野比,我也是只用winform做控件,觉得好玩,主要用习惯了,感觉自绘很有意思,dev的确牛,我写控件就是学的dev --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 给力啊啊啊啊啊啊啊啊 --------------------编程问答-------------------- 给力啊啊啊啊啊啊啊啊 --------------------编程问答-------------------- 我很想学学! --------------------编程问答--------------------
学习了,,, --------------------编程问答--------------------
野比,我以前也做过一个类似的,用在证券软件中
撸主可以把你的这个报表代码开源一下吗,我也想学这方面的 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- 新手,感觉很牛。现在属于enen --------------------编程问答-------------------- --------------------编程问答-------------------- 值得学习,加油 --------------------编程问答-------------------- 很厉害啊 支持下 --------------------编程问答-------------------- --------------------编程问答-------------------- 多谢分享,跟着一起试试。 --------------------编程问答-------------------- 熟悉GDI+用GDI+,熟悉WPF用WPF,熟悉GDI+的编写速度比WPF快,熟悉WPF的不能了解到像素级原理,各有所长,你会用哪个就用哪个. --------------------编程问答-------------------- 除
补充:.NET技术 , C#