zoukankan      html  css  js  c++  java
  • 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的事件代码又要重新写,设备越多的话,代码越多会很复杂。想解决这个问题,见下一篇章

     

    · 

  • 相关阅读:
    十七、S3C2440 音频解码芯片WM8976声卡驱动移植、madplay测试
    2.3 摄像头驱动_vivi驱动程序分析
    3.1 wifi网卡RT3070在S3C2440的移植和使用
    项目简介
    2.2 vivi虚拟视频驱动测试
    2.1 摄像头V4L2驱动框架分析
    LCD驱动程序编写
    LCD驱动程序
    1. Linux内核的配置与裁减:
    第5章 docker run、exec和attach使用和区别
  • 原文地址:https://www.cnblogs.com/baozi789654/p/14094968.html
Copyright © 2011-2022 走看看