zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    JPA的一对多,多对多用法
    pg数据库中时间查询的方式
    DNS消息格式
    Netty之Java堆外内存扫盲贴
    Netty writeAndFlush() 流程与异步
    Netty之有效规避内存泄漏
    TCP状态变迁图
    TCP/IP详解--发送ACK和RST的场景
    TCP/IP详解--连接状态变迁图CLOSE_WAIT
    TCP中异常关闭链接的意义 异常关闭的情况
  • 原文地址:https://www.cnblogs.com/amosyang/p/4925108.html
Copyright © 2011-2022 走看看