从一段最简单的程序看vb.net

博客以韩睿先生的VB之旅小例子展开,介绍创建两个窗体,通过按钮实现窗体切换的方法。涵盖VB6和VB.NET的实现过程,还解决了VB.NET中关闭窗体导致进程无法中止的问题,如截获关闭消息、判断对象是否销毁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日看了韩睿先生的vb之旅,开头的一个小例子非常有意思 目标:创建两个窗体,每个窗体上各有一个按钮,点击时隐藏其所在的那个窗体,切换出另一个窗体。 实现过程: VB6中只需要两句写在按钮的单击响应中的语句就行了: 两个窗体:Form1与Form2。Form1上的按钮为: Command1,Form2上的按钮为: command2 Private Sub Command1_Click() Me.Hide Form2.Show End Sub Private Sub Command2_Click() Me.Hide Form1.Show End Sub vb.net第一次实现如下: module1.vb,并且同时在: 解决方案管理器-〉项目名.sln -〉右点鼠标 -〉属性 -〉通用属性->常规->启动对象 -〉改为Module1。让程序启动后先运行Module1中的代码指令,然后编写代码如下: 创建一个模块文件:Module1.vb Module Module1 Public frm1 As New Form1() ‘定义Form1的公用变量实例 Public frm2 As New Form2() ‘定义Form1的公用变量实例 Sub Main() Application.Run(frm1) ‘这句话表明程序启动了modele后,会接下来运行frm1,即form1的一个实例。主线程就成为运行期的frm1了。 End Sub End Module 这样一来,frm1、frm2就成为全局变量了,在Button1与Button2的单击响应代码中只要写:frm1.show就可以了。但是:如果在frm1隐藏起来的时候,关闭了Form2窗口(frm2实例),桌面上什么窗体都没有了,进程又一次被陷入在无法中止的情况下。 解决办法:只要能截获Form2实例关闭的消息,不就可以再调出隐藏的主线程窗体了吗?在Form2的基类事件(Base Class Event)中重载Closing方法进行处理: Private Sub Form2_Closing(ByVal sender As Object, ByVal e As _ System.ComponentModel.CancelEventArgs) Handles MyBase.Closing frm1.Show() End Sub 哈,很方便,我关闭了Form2窗体的实例后,被隐藏的那个frm1又出现了。 再点击一下Form1窗体上的Button1试试。 果然,弹出一个出错窗口 “你关闭了frm2这个Form2的实例,也就结束了这个对象的生存期,”大李看来是蓄势已久了,“这就是出错提示中所说的‘无法访问名为Form2的已处置对象’。当我们关闭一个窗口的时候,会发出一个终止响应,并将该窗口对象,就象上面定义的frm2,送入终止队列,公共语言运行库的垃圾回收器跟踪着这个对象的生存期,此时就会调用此对象基类,比如Form2的Dispose方法,用于销毁对象并收回资源。所以……” “所以我只要判断一下frm2是否被销毁就行了,如果销毁了,我就再构造一个实例不就行了?”我恍然大悟道。 大李第一次微笑地点了点头说:“用frm2.IsDisposed就可以来判断了。” 我心领神会地写道: Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click If frm2 Is Nothing Or frm2.IsDisposed Then ‘判断对象是否被销毁 frm2 = New Form2() End If Me.Hide() frm2.Show() End Sub 一段小小的例子涉及倒的问题还真多!
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值