这些有什么区别?
一个。)
Using xForm as New frmCall()
xForm.ShowDialog()
End Using
乙)
Dim xForm as new frmCall()
xForm.ShowDialog()
xForm.Dispose
C。)
frmCall.Show()
他们都在展示表格,我知道它有区别。它是什么?
这些有什么区别?
一个。)
Using xForm as New frmCall()
xForm.ShowDialog()
End Using
乙)
Dim xForm as new frmCall()
xForm.ShowDialog()
xForm.Dispose
C。)
frmCall.Show()
他们都在展示表格,我知道它有区别。它是什么?
除了 Dispose()(Reed 介绍过)之外,Show() 和 ShowDialog() 是一个很大的区别。
ShowDialog() 是一个阻塞调用,这意味着方法不会退出,直到您刚刚在屏幕上弹出的对话框被解除。对话框位于您的应用程序之上,并阻止您与下面的其他表单进行交互。这一切都被称为“模态”行为。
Show() 不会阻塞。该方法将使表单可见,然后继续。您可以通过这种方式显示多个表单并在它们之间单击/切换,没有任何限制。
前两个例子非常相似。
主要区别在于,在第一种情况下,如果在 ShowDialog 中引发异常,Dispose 调用仍然会发生。在“B”中,如果您在 ShowDialog 中引发异常,则永远不会发生 Dispose 调用。
最后一个选项永远不会在 frmCall 实例上调用 Dispose。