最近的应用,需要向一个内部窗口(internal window)传参,因为官方文档的说明较为宽泛,虽然结果只有两小段代码,但也费了很大的劲。把所有关于procedure的文档看一遍,又是重新学习了一遍C#的类与方法,才最终解决了这个问题。向内部窗口传参,有三个方法可以使用,我使用的是第三种方法,以下会重点说明第三种方法:

方法一:如果是动态标签页(Dynamic Tab)的内部窗口,可以通过TabOpen直接传参,这个和窗口传参的用法一样,如下:

TabOpen(TAB_Main, "Test of the new tab", IWIN_InternalWindow,"Param1","Param2")

方法二:如果是内部窗口控件的内部窗口,可以用方法二和方法三。方法二直接用函数ChangeSourceWindow来传递参数

方法三:因为我的应用不需要改变内部窗口,所以使用了procedure的方式来传递参数。步骤如下:

1、在内部窗口创建一个Local Procedure,如:

Procedure IWINParam(Param1,Param2)
//以下为代码块,Param1和Param2类似于行参

2、在放置内部窗口控件的父窗口,调用步骤1自建的过程函数,并将实参传递过去,如:

//其中IWCTRL_ControlName为内部窗口控件的名称,此处的Param1和Param2为实参

Param1 is string = "HI"
Param2 is int = 123 IWCTRL_ControlName.IWINParam(Param1,Param2)

两个步骤,即可完成参数传递,很简单。但因为官方文档说明的隐晦,却是让人想破了脑袋,直到重新学习了一次C#的类和方法,才推断官方文档中的说明,也许就是引用类方法的用法。事实证明,两者的相似性是非常大的。内部窗口相当于一个类,类的名称就是父窗口中内部窗口控件的名称,而在内部窗口中自建的Procedure,相当于类的一个方法,所以用类名.方法名的方式,可以直接调用这个方法。

最新文章

  1. ABP框架 - 缓存
  2. Social Emotional Computing -情感模式与价值变化
  3. bzoj1535[POI2005]sza-template
  4. hdu 1255 覆盖的面积(线段树 面积 交) (待整理)
  5. fetion for linux
  6. validate 表单验证
  7. 打印出最后执行的mysql 语句
  8. JAVA中Singleton的用法
  9. strtok、strtok_s、strtok_r 字符串分割函数
  10. Lambda&Java多核编程-7-类型检查
  11. jquery无new构建学习笔记
  12. 异常-----spring明明注入了Service到Action中,为什么运行的时候Service为空,在抽象类中,有子类来继承的
  13. python3 发生器 迭代器 内置函数 协程 哈哈我又回来啦
  14. LOJ #556. 「Antileaf's Round」咱们去烧菜吧
  15. Java后台判断是否是ajax请求,并进行处理
  16. js 大厦之JavaScript事件
  17. MongoDB查询内嵌数组(限定返回符合条件的数组中的数据)(1)
  18. 浅表拷贝vs深度拷贝
  19. 【Java】移动JDK路径后,修改环境变量不生效 Error: could not open `C:\Program Files\Java\jre1.8.0_131\lib\amd64\jvm.cfg'
  20. Ubuntu mysql数据库导入sql文件

热门文章

  1. android尺寸问题(转)
  2. 长沙做假证u
  3. 前端通过jqplot绘制折线图
  4. 基于PHP实现CMS识别
  5. opencv-python函数
  6. nginx高可用
  7. Navicat 闲置时间过长会卡死
  8. html基础:DOM操作
  9. jzoj 3431. 【GDOI2014模拟】网格
  10. liunx之firewalld&SELinux