c#自定义Winfrom飞机仪表控件-第一个

news/2024/9/28 18:17:34

先看下效果,这是客户定制的飞机仪表控件中的一个。

 

我们来分析下这个这种控件要怎么开发,开发思路是什么。

  • 背景边框,这个你可以用gdi+画,或者让美工做背景图,我这里直接让美工做背景图了,中间部分留黑。

  • 刻度盘有左中右下总计5个

  • 左侧的刻度盘又有一个放大盘

  • 右侧刻度盘也有一个放大盘

  • 最右侧一个异形的刻度盘

  • 底部一个圆形刻度盘

  • 中间的是比较复杂的仰角、倾斜、地平线等

下面我们就详细的来一个一个分析。

1、背景图:这个就没什么好说的了,直接设置下背景即可

2、左侧刻度:添加一个自定义控件,设置为需要的大小

    再OnPaint事件中绘制背景色、根据刻度值来画刻度线和写数值、再画一个异形的放大刻度框,将放大的值写进去

3、右侧的2个跟2中的基本类似

4、底部圆盘刻度,根据三角函数勾股定理计算出每个刻度线的起始结束坐标,画线并写刻度值

5、中间的这个就比较麻烦一点了,需要根据仰角来画地平线的位置,同时需要进行画布旋转来实现倾斜角

 

至于源码就只能说不好意思了,这是客户定制的,不能放出来源码了。

当然,如果有你控件、仪表等需要定制开发的话,可以联系我哦,QQ:623128629    VX:hzhcontrols,添加我的时候请备注意图。

原文链接:http://www.hzhcontrols.com/blog-171.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/47225.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

explorer 资源管理器 win10 剪切大量文件 最终99%卡死好几个小时

用Process Explorerthreads栏 可以看到 shcore.dll占用最多 不过光看这个dll没啥用,这个dll有很多功能 再点stack 看调用栈 ntdll.dll!NtReadFile+0x14KERNELBASE.dll!ReadFile+0x73windows.storage.dll!SHGetKnownFolderItem+0x1a6coml2.dll!StgOpenStorageOnILockBytes+0x99…

设计模式-状态模式

状态模式 状态模式也成为状态机模式,是允许对象在内部状态发生改变时改变它的行为。对象看起来好像改变了它的类,属于行为型模式。 角色:上下文角色(Context):定义客户端需要的接口,内部维护一个当前状态实例,并负责具体状态的切换。 抽象状态角色(State):定义该状态…

透视投影矩阵的推导

透视投影矩阵的推导 本文完全 copy 自 透视投影矩阵的推导 - bluebean - 博客园 (cnblogs.com) 只是用 markdown 将公式全部又打了一遍图1: View Frustum Perspective Projection Matrix 的任务就是把位于视锥体内的物体的顶点 (x, y, z) 坐标映射到 [-1, 1] 范围。(如果是 D…

或门实现

或门实现其中有一个为真,就输出高电平感谢使用!本文来自博客园,作者:草履虫1023,转载请注明原文链接:https://www.cnblogs.com/lichenglin1023/p/18257235

异或门

异或门实现异或就是:两个输入相同为0,不同为1感谢使用!本文来自博客园,作者:草履虫1023,转载请注明原文链接:https://www.cnblogs.com/lichenglin1023/p/18257238

Gitlab搭建

目录Gitlab1. 使用docker部署gitlab2. 登录gitlab2.1 修改语言为中文2.3 修改密码3. 用户管理3.1 创建用户4. 配置ssh拉取代码4.1 添加ssh密钥4.2 测试拉取 Gitlab 1. 使用docker部署gitlab [root@master ~]# mkdir -p /data/gitlab/{config,logs,data}编写docker-compose.yaml…

Linux部署Mysql(服务器)

远程服务器:CentOS 7.6 (本地VM也一样)连接:XShell 7 与 Xftp 71. 下载tar包与准备工作查看系统的 glibc 版本:(我的是2.17)rpm -qa | grep glibc  官网下载对应的 Mysql tar包:https://dev.mysql.com/downloads/mysql/ # 查找与mysql相关的软件包并将其从系统中卸载 …

flask-SQLAlchemy解决报错 Working outside of application context.

尝试想要写自己的自动化测试框架,使用的是flask,想要使用SQLAlchemy实现数据库的模型映射,但是按照官方文档创建好module后执行时,会报错Working outside of application context. 经过一番查找,存在flask的上下文问题,以下是解决过程 官网案例:http://www.pythondoc.com…