窗体实例化与不实例化的区别解决方案

窗体实例化与不实例化的区别
有2个form,分别是form1和form2
在form1有个button:
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  form2.ShowDialog()
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim frm2 As New form2
  frm2.ShowDialog()
  End Sub
到底有什么区别?高手们解释下,谢谢

------解决方案--------------------
第一种方法:VB6
第二种方法:.NET
------解决方案--------------------
第一句
form2是一个全局变量
第二个
frm2是局部变量

他们的作用域不同
如果vb里面可以不申明fom2就可以show那么我想他一定在编译的时候隐式的实例化了对象,因为没有实例化的对象是不能调用的
如果不实例化就能调用的方法他就应改是个静态的方法,实际上他还是被实例化过,只是仅实例化一次
------解决方案--------------------
vb2005 支持vb6的这种写法,具体原理没研究过。