在平台里面开发的时候,除默认提供的窗体,控件等进行快速开发外,还可以直接与.NET平台的各种类混合调用,进行全方位的功能扩展。下面展示一个示例:实现一个功能,有一个textbox文本输入框,想用来扫描条形码,并进行其他的业务功能;即文本输入框中的值输入后,按回车键触发事件并实现业务。
1、在窗体的加载事件中,实现代码加入.net的两个文本框,同时给上面一个文本框加载事件:
'增加两个NET的控件
dim textbox=CreateObject("System.Windows.Forms.TextBox")
textbox.Text="默认的内容"
textbox.Location = CreateObject("System.Drawing.Point",28,12)
textbox.Size = CreateObject("System.Drawing.Size",100,21)
容器控件1.Controls.Add(textbox)
'---------------------------------------------------
dim textbox1=CreateObject("System.Windows.Forms.TextBox")
textbox1.Text=""
textBox1.Location = CreateObject("System.Drawing.Point",28, 40)
textBox1.Size = CreateObject("System.Drawing.Size",225, 21)
容器控件1.Controls.Add(textbox1)
'在控件textbox中挂载键盘按下的事件
'在自定义的KeyDownFunction方法中,可以获取两个参数。 this.Input1表示net事件中的sender obj,this.Input2表示事件中的 EventArgs e
'自定义的方法,直接在“功能管理”里面增加一个功能即可。
'AttachEventHandler事件(PartName,EventName,FunctionName)
Me.AttachEventHandler(textbox,"KeyDown","KeyDownFunction")
2、在“功能管理”中,构建该事件要实现的业务
'按下Enter键出发一个事件
if this.Input2.KeyCode = 13 then
textbox1.Text="你按下了上一个文本框的Enter键:"&textbox.Text
end if
通过CreateObject方法,可以在平台中无限扩展.NET的功能,可以脚本创建窗体,控件,事件,并与平台本身窗体进行交互。更多更好的应用,期待大家挖掘。