• VisionPro笔记(1):动态创建控件


     VisionPro学习笔记(1):动态创建控件

     

     

     有的时候可能需要在程序中动态创建控件,VisionPro实例中提供了一例动态创建Blob控件的方法。当然,动态创建过多的控件会极大的消耗系统的资源,建议少用。用完之后在不再需要时要及时销毁,以回收资源。

    1)声明全局变量:

    Private mBlobTool as CogBolobTool

    Private mBlobEdit as CogBlobEdit

    2) 创建:

    由于创建过程需要占用资源,所以需要改变鼠标垫状态。

    Me.Cursor=Cursors.WaitCursor

    构建Blob Tool

    if mBlobTool is nothing then mBlobTool=new CogBlobTool

    mBlobEdit=new CogBlobEdit

    开始初始化Edit控件

    Ctype(mBlobEdit,System.ComponentModel.ISupportInitialize).BeginInit()

       
    原始界面

     mBlobEdit.Enable=True

    mBlobEdit.Location=New System.Drawing.Point(0,0)

    mBlobEdit.Name="CogBlobEdit1"

    mBlobEdit.Size=new System.Drawing.Size(800,450)

    mBlobEdit.TabIndex=0

    Me.tabControl1.SelectedIndex=0

    Me.BlobTabPage.Controls.Add(mBlobEdit)

    Ctype(mBlobEdit,System.ComponentModel.ISupportInitialize).EndInit()

    初始化结束时向BlobEdit控件指定Tool

    mBlobEdit.Subject=mBlobTool

    改变鼠标为默认形式

    Me.Cursor=Cursors.Default

     

     

     

    添加控件之后界面

    3)窗体关闭时或其它时候需要回收资源:

    Me.Cursor=Cursors.WaitCursor

    Me.BlobTabPage.Controls.Remove(mBlobEdit)

    mBlobEdit.Dispose()

    Me.Cursor=Cursor.Default

    由于在自动创建时控件的AutoCreateTool会被忽略,因此用户必须创建Tool,并把控件指定到此Tool。

  • 相关阅读:
    Java JDK在Mac下的配置方法
    Kubernetes 在知乎上的应用
    kubernetes 简介:kube-dns 和服务发现
    CNI:容器网络接口
    SkyDNS试用
    docker 跨主机网络:overlay 简介
    为什么Kubernetes不使用libnetwork
    libnetwork 源码浅析
    NVMe到底是什么?用它的SSD有啥优势?
    TUNING FOR ALL FLASH DEPLOYMENTS
  • 原文地址:https://www.cnblogs.com/amosyang/p/4925108.html
Copyright © 2020-2023  润新知