呵呵 这样做的话楼主代码会很乱的。 最好在加载之前判断。如果是主窗口就使用 sub main 来加载窗口,加载前然后进行判断,是否要加载
load 事件里加第一行加on error resume next语句
工程.2个FORM,点FORM1的按钮,加载FORM2.代码如下form1里有个按钮 Private Sub Command1_Click() Form2.Show vbModal End SubFORM2的代码: Private Sub Form_Activate() On Error Resume NextIf 1 = 2 Then Unload Me End IfEnd Sub 这样的条件下,FORM2能加载,如果你改成1=1,那么FORM2闪一下就卸掉了,加载不了
把if语句转移一下吧,改成 if x=y then load form2 else 'nothing endif
你的问题? 在加载一个窗体的时候,如果在该窗体的load事件中直接把本窗体卸掉了,这时会在打开窗体的语句处造成个错误,这种情况该怎么解决?只要屏蔽错误就好了! 拿zuoxingyu(激情成就梦想) 给你的答案来说: ------------------------------------------------------- form1里有个按钮 Private Sub Command1_Click() Form2.Show vbModal End SubFORM2的代码: Private Sub Form_Activate() On Error Resume NextIf 1 = 2 Then Unload Me End IfEnd Sub ----------------------------------------------------------- 思路是对了! 可是判断的地方错误了! 应该把错误处理语句放在 FORM1的命令按钮里! form1里有个按钮 Private Sub Command1_Click() On Error Resume Next Form2.Show vbModal End SubFORM2的代码: Private Sub Form_Activate() If 1 = 2 Then Unload Me End IfEnd Sub 这样做可以达到你想要做的效果! 给你的建议是,不用处理错误语句! 你不是要判断该窗体是否加载么? 直接在要打开的时候判断,而不应该是在打开窗体后在判断 例题: FORM1的command1单击事件: if 条件 then form2.show,1 else msgbox "条件不符合,不能打开" end if 如果不要msgbox 提示信息 可以直接判断: if 条件 then form2.show , 1
form1里有个按钮 Private Sub Command1_Click() IF form2.canshow then Form2.Show vbModal endif End SubFORM2的代码: public function canshow as booleanend function
建议在其他事件或过程后,处理卸载事件!
最好在加载之前判断。如果是主窗口就使用 sub main 来加载窗口,加载前然后进行判断,是否要加载
Private Sub Command1_Click()
Form2.Show vbModal
End SubFORM2的代码:
Private Sub Form_Activate()
On Error Resume NextIf 1 = 2 Then
Unload Me
End IfEnd Sub
这样的条件下,FORM2能加载,如果你改成1=1,那么FORM2闪一下就卸掉了,加载不了
if x=y then
load form2
else
'nothing
endif
在加载一个窗体的时候,如果在该窗体的load事件中直接把本窗体卸掉了,这时会在打开窗体的语句处造成个错误,这种情况该怎么解决?只要屏蔽错误就好了!
拿zuoxingyu(激情成就梦想) 给你的答案来说:
-------------------------------------------------------
form1里有个按钮
Private Sub Command1_Click()
Form2.Show vbModal
End SubFORM2的代码:
Private Sub Form_Activate()
On Error Resume NextIf 1 = 2 Then
Unload Me
End IfEnd Sub
-----------------------------------------------------------
思路是对了! 可是判断的地方错误了!
应该把错误处理语句放在 FORM1的命令按钮里!
form1里有个按钮
Private Sub Command1_Click()
On Error Resume Next
Form2.Show vbModal
End SubFORM2的代码:
Private Sub Form_Activate()
If 1 = 2 Then
Unload Me
End IfEnd Sub
这样做可以达到你想要做的效果! 给你的建议是,不用处理错误语句! 你不是要判断该窗体是否加载么? 直接在要打开的时候判断,而不应该是在打开窗体后在判断
例题:
FORM1的command1单击事件:
if 条件 then
form2.show,1
else
msgbox "条件不符合,不能打开"
end if 如果不要msgbox 提示信息 可以直接判断:
if 条件 then form2.show , 1
Private Sub Command1_Click()
IF form2.canshow then
Form2.Show vbModal
endif
End SubFORM2的代码:
public function canshow as booleanend function
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html