• C#--事件驱动在上位机中的应用【二】(自定义控件)


    以下是学习笔记:

    1,在项目中添加“类库”,在“类库”中添加“用户控件”

     2,使用TableLayoutPanel来布局

     3,添加需要的图片资源

    【1】创建资源文件:Resources.resx。类库项目默认是没有这一项的

     【2】创建资源项目成功后,就多了一个Resources.resx目录

     【3】双击Resource.resx。添加资源-添加现有文件

     【4】添加图片

    4,使用PictureBox控件来添加图片

    【1】

     【2】调整合适大小,设置这2个属性

     5,添加Label显示设备的名称

    注意:如果用户控件拉动后,显示比例没有变化,就重新生成一下就可以啦

     6,使用自定义控件,新建一个窗体项目。可以直接当做控件一样拖入就可以啦

     发现的问题:“设备名称”不能修改,这用直接使用没有意义

    7,解决上面的“设备名称”不能修改的问题

    【1】打开自定义控件的代码,增加一个属性

    【2】重新生成,再次拖入自定义控件后,就有修改“设备名称”属性的地方了。

     能修改名称其实也没什么意思的,要实现通过按钮的颜色来显示设备的状态,点击按钮可以切换状态

    8,解决显示状态的问题,其实增加一个属性,来切换显示的图片

    【1】增加属性的代码

     【2】效果如下:

    9,实现点击按钮,来切换状态

    【1】自定义控件的自定义的事件

     【2】属性窗口中就多了2个事件:

     【3】双击自定义控件的自定义事件,在主窗体程序中就多了一个事件关联的代码

     给自定义控件增加3个属性,来区分PLC的地址

     对应的PLC的地址:

     【4】事件的处理

    这时候点击启动停止按钮就可以控制PLC了

     能控制,但是实时状态没有变化

    【5】实时状态的显示

    代码:

     效果:

    以上就能通过自定义控件来实现控制和显示PLC的状态。

    假如PLC控制的又多了2个设备:

     主窗体程序中又要多加2个自定义的控件。这样的话设备2和设备3的事件代码又要重新写,设备越多的话,代码越多会很复杂。想解决这个问题,见下一篇章

     

    · 

  • 相关阅读:
    阶段一Python核心编程:流程控制之条件语句004
    阶段一Python核心编程:输入、转换数据类型、运算符003
    Linux在线测网速
    SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)
    SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱
    oracle归档的开启与关闭
    tmux的使用
    linux下获取占用CPU资源最多的10个进程
    oracle11g安装
    redis学习2
  • 原文地址:https://www.cnblogs.com/baozi789654/p/14094968.html
Copyright © 2020-2023  润新知