1、plus控件当edit、button等使用,可自定义更多样式;
使用方式:拖控件-->选中-->(右下角)工具-->界面-->plus配色工具,根据edit、button、checkbox等选择;
plus的button,还可根据disabledtext定义执行时禁用,且带动画、文本;
2、多线程的简单使用
//定义一个函数,停顿3秒,模拟长时间执行程序;
var getComputerName =function(winform){//传入winform因为线程不能直接操控主程序,一般控件通过传参来操控;
sleep(3000)
import sys;
var computerName=sys.getComputerName();
winform.msgbox(computerName)
winform.button2.disabledText=null //解除禁用
winform.plus.disabledText = null
}
winform.plus.oncommand = function(id,event){
winform.plus.disabledText = {'\uF254';'\uF251';'\uF252';'\uF253';'\uF250'} //禁用时的动画
thread.invoke(getComputerName,winform ) //创建线程,调用getComputerName函数,传入winform为参数才能执行winform.msgbox()
//getComputerName()
}
3、多线程的进阶使用
当我们启用一个线程函数,而该线程函数中又包括另外一个外部函数时,是无法成功执行的(因为线程的独立性)
import console;
console.open() //线程的错误信息不会反馈到主进程,通过控制台查看错误信息
var test = function(){
console.log("test函数成功执行了")
}
var getUrl = function(Mainform){
sleep(3000);
test();
}
mainForm.btn_send.oncommand = function(id,event){
thread.invoke(gerUrl,Mainform) //test属于线程的外部函数,无法执行
}
import console;
console.open() //线程的错误信息不会反馈到主进程,通过控制台查看错误信息
mainForm.test = function(){ //直接定义mainForm的成员为函数
console.log("test函数成功执行了")
}
var getUrl = function(Mainform){
sleep(3000);
mainForm.test(); //因为mainForm已经传参入线程,所以mainForm的成员函数也可以顺利执行了
}
mainForm.btn_send.oncommand = function(id,event){
thread.invoke(gerUrl,Mainform) //因为mainForm已经传参入线程,所以mainForm的成员函数也可以顺利执行了
}
文章评论