VB.NET学习笔记:窗体显示及互相传值

本文详细探讨了VB.NET中窗体显示的方法,包括Form1.ShowDialog()和Application.Run(Form1)的使用,以及窗体间如何互相传值。通过实例说明,解释了直接显示窗体与实例化后再显示的区别,并介绍了保持窗体引用全局性和重写构造函数两种传值方法。此外,文章还提出了对VB.NET面向对象特性的疑惑。
摘要由CSDN通过智能技术生成

测试环境: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值