从过去到未来、 从Visual和Basic到Net(三)

本文对比了VB与VB.NET在动态创建控件、变量定义、错误处理等方面的差异。介绍了VB.NET支持运行时创建控件的新方法,并展示了更加简洁的变量及数组定义方式,以及新增的结构化错误处理机制。

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

 
从过去到未来、 从Visual和Basic到Net(三)
10.    运行时动态的创建控件。VB。NET不再象VB6那样直接支持控件数组了,用VB。NET会有不同的实现办法和需要更多的代码,VB。NET的实现机制有些象Java的实现了。一直很怀疑MS是否把以前VJ中的WFC直接搬到VS。NET中。
过去的VB
======================================================
Private Sub cmdAddButton_Click(Index As Integer)
      Static counter As Integer
      counter = counter + 1
      If counter < 4 Then
         Load cmdAddButton(counter)
         With cmdAddButton(counter - 1)
            cmdAddButton(counter).Move _
               .Left + .Width + _
               (10 * Screen.TwipsPerPixelX), .Top
         End With
         cmdAddButton(counter).Visible = True
      End If
   End Sub
 
现在的VB.NET
======================================================
 (第一种实现)
   Private Sub btnAddButton_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnAddButton.Click
  
      Static counter As Integer = 1
      Static lastButton As System.Windows.Forms.Button
      counter += 1
      If lastButton Is Nothing Then
         lastButton = btnAddButton
      End If
      If counter < 4 Then
        Dim b As New System.Windows.Forms.Button()
         With lastButton
            b.Width = .Width
            b.Text = .Text
            Controls.Add(b)
            b.Left = .Left + .Width + 10
            b.Top = .Top
            lastButton = b
         End With
      AddHandler b.Click, AddressOf Me.btnAddButton_Click
      End If
   End Sub
 
( 第二种实现)
      Private Sub btnNewAdd_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) _
      Handles btnNewAdd.Click
  
      Dim b As New System.Windows.Forms.Button()
      With sender
         b.Width = .width
         b.Text = "Click Me!"
         Controls.Add(b)
         b.Left = .Left + .Width + 10
         b.Top = .Top
      End With
      AddHandler b.Click, AddressOf Me.newButtonClick
   End Sub
 
使用GetChildIndex来获得控件数组中的控件。
Private Sub newButtonClick(ByVal sender As _
      System.Object, ByVal e As System.EventArgs)
      MsgBox("A new button was clicked! The index of " _
         " this button is: " & Me.Controls.GetChildIndex _
         (sender))
End Sub
 
11.   变量和数组的定义。
VB6的变量定义是很神奇的,开始用VB时,我一直以为 Dim X , Y as String 是一样的。等知道不同时也不喜欢用 Dim X as String , Y as String 来定义、宁愿分两行定义。现在的VB。NET中在同一语句中定义的变量必须是同种类型,也就是说Dim X as Integer , Y as String 已不在允许了。最让我满意的是VB。NET开始支持这样的语法: dim x As integer = 24 ,等了它许多年了。数组的定义,特别是初始化也改进了不少,现在可以在定义的同时赋值进行初始化,省去定义一个循环变量和做一个For循环,而且数组的下标是基于零了,突然数组只可以是基于零的下标,这下所有数组都由零开始了。
过去的VB
======================================================
Dim X as Integer
X = 100
 
Dim MyArray( 10 ) as Integer ( 实际有11个元素)
For i = 0 To 10
           MyArray ( I ) = I
Next
 
Dim MyArray1( 10 ) as Integer
Dim MyArray2(10) as Integer
For i = 0 To 10
           MyArray 1( I ) = I
Next
For i = 0 To 10
           MyArray 2( I ) = MyArray1( I )
Next
 
现在的VB.NET
======================================================
Dim X as Integer = 100
 
Dim MyArray ( 10 ) as Integer = ( 0,1, 2, 3, 4, 5, 6, 7,8 , 9 ) (共10个元素)
 
Dim MyArray1(10) as Integer = ( 0,1, 2, 3, 4, 5, 6, 7,8 , 9 )
Dim MyArray2(10) as Integer = MyArray1
 
12.   开始支持结构化的错误处理,引进了新的Try 、Catch 、Finally 语句而且也有了Throw 表达式,这样在多层的错误处理中你可以少写许多On Error GoTo 不要再费心GoTo的满天飞了。VB。NET仍然也支持原来非机构的错误处理语句比如有趣的 On Error GoTo 0 、 On Error resume Next 等等。不过一个函数中同时存在结构和非结构的错误处理代码时看起来一定非常有趣。就象新版帝国2中的农民一样,代码防御力增加Double。
 
总的来说VB.NET比以前的VB要简洁和更少的代码,但也需要你了解更多的对象和对象的方法。不能说VB。NET比VB好或不好,有时我想把VB和VB。NET看做根本是两种不同的语言,也许会更实际一点,这样我们就不会妄想目前的VB程序进行小小的修改就可以在dotnet的平台上运行了。
 
虽然目前所有正在运行的应用都不可能简单的升级到dotNet,不过这并不妨碍你多学习一门语言,接受一种变化;事实上无论VB如何发展,对于你来说掌握和适应Visual Studio.NET都将是一个曲线的演变,不管是现在还是未来。
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push packageDeploy/Rollback。每个阶段都可以根据实际需求进行配置调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试部署,从而提高项目的整体质量可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值