图形化控件开发 - 矩形控件
【摘要】 图形化控件开发 - 矩形控件
最近这段时间,公司需要做一个图形化配置工具。
主要是有以下一些要求:
1、针对一些底层的智能设备(智能楼宇的控制器),通过COM口连接上,并通过相关协议读取参数值
2、支持一些基本的逻辑运算,以及公司业务的一些特性“点”,一种点可以看成一个图形化控件
3、参数在图形化工具上显示出来,工程人员直接设置图形属性设置参数值、连线等
4、支持在线和离线2种工作方式,设置好参数后直接在界面上下载到设备里
5、工作太支持拖动,连线,放大缩小,保存设计文件等
6、“点”的本身业务要求,略。。。
经过一番调研,winfrom的图形化控件技术,并没有成熟的框架出来。
只有一些零碎的demo,大体上的思路是通过重绘来实现具体的图形控件。
在这里也提一下Netron框架,这个框架代码我看了很多遍,很多思路都从这里来,但是太繁琐了,改动起来非常吃力
所以我自己重新写了一遍,大体思路没变,只是走精简路线,以下是我们的工具最终的界面样式,
我打算把每一步都分拆贴出来,做成一个教程。给大家一个参考
1、新建自定义控件抽象类
1.1 包含一些基本属性,如字体、是否悬停、是否选中、画布
1.2 包含几个抽象方法,绘制控件皮肤、移动、悬停判断、重新绘制
2、绘制一个自定义控件基类
包含一些基本属性及一些共性方法实现
3、新建一个简单的矩形类
4、新建画布GraphControl
所以自定义图形控件都将在这个画布里绘制、移动等操作
5、新建测试项目
5.1 新建demo.cs把控件拖入界面左边
5.2 再拖一个PropertyGrid用来显示属性值
5.3 Demo.cs代码如下
6、运行程序
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)