无闪烁地快速附加字符串到textbox控件
附加文本到textbox或者richtextbox控件的通常方法是在当前内容上连接上新的字符串:
text1.text = text1.text & newstring
但还有一个更快的方法,并且会减少连接操作的闪烁感,代码如下:
text1.selstart = len(text1.text)
text1.seltext = newstring
快速找到选中的optionbutton
optionbutton控件经常是作为控件数组存在的,要快速找到其中的哪一个被选中,可以使用下面的代码:
’假设控件数组包含3个optionbutton控件
intselected = option(0).value * 0 - option(1).value * 1 - option(2).value * 2
注意,因为第一个操作数总是0,所以上述代码可以精简如下:
intselected = -option(1).value - option(2).value * 2
表单及控件的引用阻止了表单的卸载
当指派表单或者表单上的控件到该表单模块以外的一个对象变量中时,如果要卸载表单,就必须首先将那个变量设置为 to nothing。也就是说,如果不设置为nothing,即使看不到这个对象了,但它仍旧是保存在内存中的。
注意:这并非是一个bug,这仅仅是com引用规则的一个结果。唯一要注意的就是引用的这个控件将阻止整个表单的卸载操作,它将依赖于它的父表单而存在。
重定义编译dll文件的基地址
许多vb开发者都知道应该在工程属性对话框的“编译”功能页面中定义一个dll基地址数值。这不同于工程中任何其他dll或ocx的基地址。
当操作没有源代码的编译dll或者ocx文件时,可以使用editbin程序修改它的基地址。editbin程序随visual studio安装后就有了,可以在主visual studio目录的vc98\bin目录下找到它。比如,以下代码重新设定一个编译dll文件的基地址为12000000(16进制):
editbin /rebase:base=0x12000000 myfile.dll
同样,editbin程序对可执行文件也有一些处理技巧。
以下是该程序支持的完整功能选项列表(使用editbin /? 可以列出这些):
/bind[:path=path]
/heap:reserve[,commit]
/largeaddressaware[:no]
/nologo
/rebase[:[base=address][,basefile][,down]]
/release
/section:name[=newname][,[[!]{cdeikomprsuw}][a{1248ptsx}]]
/stack:reserve[,commit]
/subsystem:{nativewindowsconsolewindowsceposix}[,#[.##]]
/swaprun:{[!]cd[!.net}
/version:#[.#]
/ws:[!]aggressive
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器