图形化控件开发 - 矩形控件

举报
蓝猫 发表于 2018/11/16 18:27:15 2018/11/16
【摘要】 图形化控件开发 - 矩形控件

最近这段时间,公司需要做一个图形化配置工具。

主要是有以下一些要求:

1、针对一些底层的智能设备(智能楼宇的控制器),通过COM口连接上,并通过相关协议读取参数值

2、支持一些基本的逻辑运算,以及公司业务的一些特性“点”,一种点可以看成一个图形化控件

3、参数在图形化工具上显示出来,工程人员直接设置图形属性设置参数值、连线等

4、支持在线和离线2种工作方式,设置好参数后直接在界面上下载到设备里

5、工作太支持拖动,连线,放大缩小,保存设计文件等

6、“点”的本身业务要求,略。。。

 

经过一番调研,winfrom的图形化控件技术,并没有成熟的框架出来。

只有一些零碎的demo,大体上的思路是通过重绘来实现具体的图形控件。

在这里也提一下Netron框架,这个框架代码我看了很多遍,很多思路都从这里来,但是太繁琐了,改动起来非常吃力

所以我自己重新写了一遍,大体思路没变,只是走精简路线,以下是我们的工具最终的界面样式,

我打算把每一步都分拆贴出来,做成一个教程。给大家一个参考

1.png

1、新建自定义控件抽象类

1.1 包含一些基本属性,如字体、是否悬停、是否选中、画布

1.2 包含几个抽象方法,绘制控件皮肤、移动、悬停判断、重新绘制

2.png

2、绘制一个自定义控件基类

包含一些基本属性及一些共性方法实现

3.png

4.png

3、新建一个简单的矩形类

5.png

4、新建画布GraphControl

所以自定义图形控件都将在这个画布里绘制、移动等操作

6.png

5、新建测试项目

5.1 新建demo.cs把控件拖入界面左边

5.2 再拖一个PropertyGrid用来显示属性值

7.png

5.3 Demo.cs代码如下

8.png

6、运行程序

9.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。