c#自定义Winfrom飞机仪表控件-第一个
先看下效果,这是客户定制的飞机仪表控件中的一个。
我们来分析下这个这种控件要怎么开发,开发思路是什么。
-
背景边框,这个你可以用gdi+画,或者让美工做背景图,我这里直接让美工做背景图了,中间部分留黑。
-
刻度盘有左中右下总计5个
-
左侧的刻度盘又有一个放大盘
-
右侧刻度盘也有一个放大盘
-
最右侧一个异形的刻度盘
-
底部一个圆形刻度盘
-
中间的是比较复杂的仰角、倾斜、地平线等
下面我们就详细的来一个一个分析。
1、背景图:这个就没什么好说的了,直接设置下背景即可
2、左侧刻度:添加一个自定义控件,设置为需要的大小
再OnPaint事件中绘制背景色、根据刻度值来画刻度线和写数值、再画一个异形的放大刻度框,将放大的值写进去
3、右侧的2个跟2中的基本类似
4、底部圆盘刻度,根据三角函数勾股定理计算出每个刻度线的起始结束坐标,画线并写刻度值
5、中间的这个就比较麻烦一点了,需要根据仰角来画地平线的位置,同时需要进行画布旋转来实现倾斜角
至于源码就只能说不好意思了,这是客户定制的,不能放出来源码了。
当然,如果有你控件、仪表等需要定制开发的话,可以联系我哦,QQ:623128629 VX:hzhcontrols,添加我的时候请备注意图。
作者:冰封一夏
出处:http://www.cnblogs.com/bfyx/
HZHControls官网:http://www.hzhcontrols.cn
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,
且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
GitHub:https://github.com/kwwwvagaa/NetWinformControl
码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git