4.在窗体加载过程中使用SetFocus方法出现“无效的过程调用或参数”错误 焦点只能移动可视的窗体或控件上。在窗体的Load事件完成前窗体或窗体上的控件是 不可视的,所以不能在Form Load事件中把焦点移到正在加载的窗体上,也不能在Load事 件内使用SetFocus方法将焦点移到窗体上的控件。此外,也不能把焦点移到Enabled或Visible 属性被设置为False的窗体或控件。如果己在设计时将Enabled或Visible属性设置为False, 必须在使用SetFocus方法前将Enabled或Visible属性设置为True。 5.与窗体有关的事件 在首次用Lod语句将窗体(假定该窗体在内存中还没有创建)调入内存之时依次发生 nitialize和Load事件。Initialize是在窗体创建时发生的事件。在窗体的整个生命周期中, Initialize事件只触发一次。用户可以将一个窗体装入内存或从内存中删除很多次,但窗体的 建立只有一次。也就是说,在用Load语句将窗体装入内存时会触发Load事件,但并不一 定触发Initialize事件。 在窗体从内存中卸载时依次发生QueryUnload和Unload事件。QueryUnload事件可提 供造成窗体卸载的原因,即是单击“关闭”按钮,或是程序中执行Unload语句,或在应用 程序中关闭,或者是在Windows中的关闭。如果在QueryUnload事件中把QueryUnload的 参数Cancel设置为True,就会忽略Unload语句,从而不卸载窗体。所以QueryUnload提供 了取消关闭窗体的机会,同时也允许在需要时从代码中关闭窗体。 如果使用End语句来结束程序,窗体不会接收到QueryUnload事件。 而窗体Activate事件仅当窗体成为活动窗口时才发生,窗体必须可见。 6.在程序中对通用对话框的属性设置不起作用 在程序中对通用对话框的属性设置必须注意语句的先后顺序,属性设置语句必须放在打 开对话框语句前,否则在程序中对通用对话框的属性设置在本次使用中不起作用。例如,下 面的程序代码由于先打开对话框,再进行属性设置。在第一次执行本段代码时,无法过滤文 件,ShowOpen语句后面的属性设置语句对下一次执行ShowOpen有效。 CommonDialog1.ShowOpen CommonDialog1.FileName ="*.bmp" CommonDialogl.InitDir ="c:\windows" CommonDialog1.Filter="图片(*.bmp)川*.bmpl所有文件(*.*)川*.*" CommonDialog1.FilterIndex 1 7.设置通用对话框的CancelError属性为True发生错误 当通用对话框的CancelError属性设置为True时,无论何时选择“取消”按钮,均产生 32755(cdlCancel)号错误。 VB通过系统对象Er来记录程序运行期间所发生的错误。Err对象的Number属性记录 错误号,Description属性保存有关错误的说明。例如,当在CancelError属性为True的通用 对话框中选择“取消”按钮时,产生一个错误,Err.Number被设置为32755,Description属 性被设置为“选择‘取消’”。如果不对错误进行处理,VB将显示出错消息并停止程序运行。 为防止由于错误造成停止程序运行的问题,可以使用On Error语句捕获错误,然后根据捕 获的错误进行处理。常用On Error语句的形式有: On Error Resume Next'忽略发生错误的命令行,执行下一句命令 On Error GoTo语句标号'当发生错误时转向执行标号所指定的命令行 对于捕获到的错误号,可用分支语句处理。 下面的程序说明当在颜色对话框内选取“取消”按钮时,CommonDialog1.ShowColor 语句产生32755号错误。On Error语句在捕获到错误后,转向执行标号ErrorHandler所指定 #(-7%&8 )9:;7%6<=>?./ g"#Ga$%ª# 8 4%Äaª$%' /G2H/g &;8 4%?s"DiC=ª2ý/g 8 4 %0!&+A"Dª$%#U2ý/gs"D, 5a5 [\]_`O & a$%#
{î_w4A , 5 a 5 [\_`O &2 WX !&+ ÄA , 5 a 5 [\_`O (+# @!" n 8 78AoÆc0N?ºÇKïpbû0NÃ4K ) < T 8 4%#) < 'ï4K4%#zZ9?2 ) < 4%lKY#GHAYZ9û0Na;0N?ÒÓ!2~ KY#ý&'¦2 8 78A9û0N4ÉlK 8 4%2~ñ/Y lK ) < 4%# ;0N?m=4K :+49 T 9 4%#:+49 4%G( )m=`2½'7DE82a' r?^ 9 782aì r?DE2aÏ' ?DE#
{ :+49 4%?s :+49 àá _`O (+2&É 9 782;*/m=#H :+49 () *ðDEyÉ24ý4;?DE#
{ , 78;} r2/ÉÚD :+49 4%# * 4%ßqO#÷4fK2WXGÅ# #%2& A4BC r?[\_`WX78V¿r2[\_`78WX< =78Ä2aÈ r?[\_`³?/æ#z
2 J rä,V<=2ã]^[\_`# Y^³¡42C¢£ %2!"#$ 78¿J[\_`78Y^ !"#$ K# !"#$ &'01=5$1 ) 0123 1 &01¢>=5$?@=5$@K%>==?@==1 &) *0 A !! ! D "! +,./ q , [\_`O (+ 42C£¤4567ð82¥ A..o pèÊË# ¢¦§2 , ;| r^¨KÊË#, 2 '+5 [\| ÊËè2$ [\pNKDÊ˦§#z
2q , [\O (+ ?567ð842YZÊË2,'+5 ]_`O A..2$ [ \]_`O756©ðª8#
{/ÊË]^ÛÜ2 AÑʱñ«ê r^# O¬êä,ÊË«ê r^ù2GH # , 78®¯ÊË2W¿Z[® ¯ÊË]^ÛÜ#² # , 781¥KL # , B+'* CKÊË9:^2^Y89: # ,D( 78-è CqKÊË4°!^-è9:^ ,®¯DÊËè2Gþ±78ÛÜ# J r¦§qPQ05ð7ð842 !" 78 A.. èÊË## , 78®¯DÊË¿2°!^-è ,/