我有以下代码段:
'Handle level specific properties
Select Case ScoreCard.CurrentDifficulty
Case 1
intImageCount = 2 'This is the number of images to show at any given time on screen +1
'debug
ScoreCard.CurrentDifficulty = 6
Case 2
intImageCount = 3 'This is the number of images to show at any given time on screen +1
Case 3
intImageCount = 5 'This is the number of images to show at any given time on screen +1
Case 4
intImageCount = 2 'This is the number of images to show at any given time on screen +1
Case 5
intImageCount = 5 'This is the number of images to show at any given time on screen +1
Case 6
frmLevel3_HouseOfMirrors.Show()
Me.Close()
Return
End Select
执行case 6
时执行frm3_HouseOfMirrors.Show()
并打开新表单。 Me.close
也会执行但我的问题是脚本然后到达返回行。是不是me.Close()
假设停止当前表单上的所有代码执行并从内存中卸载它自己?
答案 0 :(得分:2)
只需拨打frmLvl3_HouseOfMirrors.ShowDialog()
而不是.Show()
,这将停止执行代码,直到关闭新表单。
或者如果要取消执行其余代码,请尝试Exit指令。你必须检测到你想要完成并将其添加到Sub
之外,因为.Close()
没有停止执行代码。
答案 1 :(得分:1)
不,“关闭”方法只是关闭表单,但程序执行将继续。如果要在表单关闭之前停止代码执行,可以将其设置为模态。
在VBA中它看起来像这样: frmLevel3_HouseOfMirrors.Show vbModal
答案 2 :(得分:0)
是不是
me.Close()
假设停止当前表单上的所有代码执行并从内存中卸载它自己?
没有。 Close
完全按照它所说的做法:它关闭了表单的可视化交互式表示。 1 它不会直接影响代码执行。 确实确保调用Form_Closing
然后调用Form_Closed
。但其余的代码执行不受影响;特别是,当前的方法正常运行。之后,表单上的其他方法可能会被调用,也可能不会被调用(如上所述,Closing
和Closed
将被调用。
1 并且,是的,它会释放表单的资源,除非表单是通过ShowDialog
而不是Show
显示的。