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。

最新文章

  1. Java程序日志:java.util.logging.Logger类
  2. Python for Data Analysis
  3. python成长之路【第十二篇】:RabbitMQ入门
  4. 脚本tips
  5. 孙鑫VC学习笔记:多线程编程
  6. 浅谈URLEncoder编码算法
  7. iOS 开发知识小集(1)
  8. IntelliJ IDEA 常用设置讲解1
  9. BZOJ 2751 容易题
  10. Java Script 正则表达式的使用示例
  11. 《sed的流艺术之四》-linux命令五分钟系列之二十四
  12. jq 事件冒泡总结
  13. [ios3-地图] 如何在iOS地图上高效的显示大量数据 [转]
  14. Error400
  15. 转载c++常忘的知识点
  16. js实现html截图生成图片
  17. EndNote中文文献导入出错和数量限制解决
  18. Yoink Mac版(临时文件存储助手)中文版
  19. Could not load file or assembly 'System.Web.Mvc, Version=5.2.3.0...
  20. C点滴成海------Dev C++怎么修改成简体中文

热门文章

  1. python中的深拷贝和浅拷贝理解
  2. [转载]阿里云MySQL优化主从同步,降低数据延迟
  3. H5+Ajax+WebApi实现文件下载(进度条,多文件)
  4. 使用reqire.js 生成二维码
  5. python写的一个集合
  6. 常见 Java 异常解释(恶搞版)
  7. 2039: [2009国家集训队]employ人员雇佣
  8. Qt 共享库(动态链接库)和静态链接库的创建及调用
  9. .NET MongoDB Driver GridFS 2.2原理及使用示例
  10. TCP为什么需要3次握手与4次挥手(转载)