测试环境:windows 7和Microsoft Visual Studio 2015
很多文章里都说在Visaul Basic .NET中显示窗体之前必须先实例化,经测试,也可以与旧Visual Basic 6.0 一样不经实例化直接Form1.Show显示窗体。
一、正确显示窗体
新建一个窗体应用程序,再添加一个模块和一个窗体。如图:
在项目属性页进行如下图设置。
在模块添加如下代码:
Module Module1
Public Sub Main()
'IF语句,符合条件则显示窗体Form1,这里略过直接显示窗体
Form1.Show()
End Sub
End Module
测试项目,发现窗体一闪而过,为什么没有长时间显示窗体呢?
在网友uruseibest的热心帮助下才知道应该使用Form1.ShowDialog()将窗体显示为模式对话框。
修改代码如下:
Module Module1
Public Sub Main()
'IF语句,符合条件则显示窗体Form1,这里略过直接显示窗体
Form1.ShowDialog()
End Sub
End Module
测试项目,代码执行到 Form1.ShowDialog()这句就不再继续向下执行,直到关闭窗体Form1后才往下执行余下代码。
也可以使用Application.Run(Form1)语句代替rm1.ShowDialog()来将窗体显示为模式对话框。
对于旧Visual Basic 6.0程序员来说还是很容易理解的,但作为面向对象编程的Visaul Basic .NET语言,最好先把窗体类给实例化,再显示窗体。即应该是这样:
Module Module1
Public Sub Main()
'IF语句,符合条件则显示窗体Form1,这里略过直接显示窗体
'声明变量
Dim frm As Form1
'实例化窗体
frm = New Form1
'显示窗体
frm.ShowDialog()
End Sub
End Module
二、窗体间互相传值
分别在两个窗体上添加3个按钮和一个Label控件。如图:
为按钮添加事件代码:
Public Clas