分享

用VB.NET做WinForm的应用程序(To do with VB.NET WinFor...

 filedot 2011-12-24

用VB.NET做WinForm的应用程序 [ English ]

2008-2-24 1:52:17 中国学网 跟贴 0 条 网友投稿

 


  用VB.NET做WinForm的应用程序
马金虎 
在VB.NET程序设计中,设计Windows的窗体已经完全变了样。在.Net FrameWork中,任一个Windows窗体都是通过继承名称空间中System.Windows.Forms中的一个叫Form类而产生的。用VB.NET做一个WinForm(Windows Form即Windows 窗体)应用程序对于用VB.NET的程序员来说一个基本的,也是最重要的。应用本文就是通过一些例子,循序渐进的介绍用VB.NET做Windows 应用程序的基本要点。这些要点就是:创建一个窗体、为窗体增加组件、编写响应事件。在程序中使用了面向对象的分析方法来设计WinFrom。

一. 程序设计及运行环境
(1).视窗2000专业版本
(2)..Net FrameWork SDK Beta 2

二. 创建第一个VB.NET的窗体
VB.NET的程序员可以利用.Net FrameWork的基本类型库,非常方便、快捷的创建一个
Windows的应用程序。在System.Windows.Forms名称空间中提供了你需要创建一个Windows Form应用程序的所有类型。你可以通过继承System.Windows.Forms.Form类,来建立一个WindowsForm。下面代码的作用就是通过继承System.Windows.Forms.Form来建立一个名字为Form1的类:
Public Class Form1 : Inherits System.Windows.Forms.Form
End Class


请注意如果你把Inherits关键字部分放在另外一行,你就不需要在类的名字和
Inherits关键字中间加上冒号,具体如下:
Public Class Form1
Inherits System.Windows.Forms.Form
End Class


在本文中一般定义了二个Sub,分别为New( ),InitializeComponent()。其中第一
个是一个构造器,当你用NEW关键字继承了一个对象,此Class中的一个构造器就会被调用。在此构造器中,通常是写一些初始化的代码。如果你的初始化代码有很多行,你可以建立一个PrivateSub来管理这些代码,这就是--InitializeComponent()。
下面就是第一个Form的源程序(form1.vb)和运行后的界面:
Imports System.Windows.Forms
Imports System.ComponentModel
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New ( )
InitializeComponent( )
End Sub

Private Sub InitializeComponent( )
Me.Text = "第一个空的窗体!"
Me.Width = 400
Me.Height = 300
End Sub
End Class

Module Module1
Sub Main ( )
Application.Run ( new Form1 ( ) )
End sub
End Module


通过以下编译命令就可以得到一个Windows Form可执行文件。
Vbc /t:winexe /r:system.dll /r:system.windows.forms.dll form1.vb





这只是一个没有任何组件的空的窗体,只有加入组件的窗体才是用途的,接下来的就介绍如何在窗体上加入组件。

三.在窗体上加入组件(form2.vb):
在.Net FrameWork的基本类型库中提供了很多可以常用的组件。在窗体中加入组件一般需要以下三个步骤:
(1).定义一个组件变量
(2).获得一个组件的实例并初始化
(3).在窗体上加入组件
在程序中应注意以下几点:
(1).由于在VB.NET中,每个变量都有着不同的范围。所有在什么地点声明变量就显得比较重要。譬如在一个函数中声明的变量只能在此函数中使用。如果你想在整个Class中使用某个变量,就在Class的基本声明。
(2).得到一个组件的实例和获得一个对象的实例相似。使用了NEW关键字,你就获得了一个组件的的实例,就可以加入到Form中。但是你不能直接加入到Form中,因为在Form类中没有加入组件的方法。但是Form类可以继承Control类中的Controls属性。在Form类中,可以使用这个属性得到窗体中的System.Windows.Forms.Form.ControlCollection对象。在Form.ControlCollection类中描述了所有可以在窗体中使用的组件。你可以使用其中的Add和Remove方法在窗体中加入或者是删除组件。
在理解了上面的知识以后,我们就试图来在窗体上加入一个按钮和一个文本框。
以下就是源程序代码(Form2.vb)和程序运行后的界面
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel
Imports System

Public Class Form1
Inherits Form

注释: 定义一个按钮和文本框
Private Button1 As Button
Private TextBox1 As TextBox

Public Sub New()
InitializeComponent ( )
End Sub

Private Sub InitializeComponent()
Me.Text = "在窗体上加入组件!"
Me.Width = 400
Me.Height = 300

Button1 = New Button ( )
TextBox1 = New TextBox ( )

Button1.Left = 200
Button1.Top = 200
Button1.Width = 100
Button1.Height = 40
Button1.TabIndex = 0
Button1.Text = "确定"

TextBox1.Left = 200
TextBox1.Top = 30
TextBox1.Width = 150
TextBox1.Height = 40

Me.Controls.Add ( Button1 )
Me.Controls.Add ( TextBox1 )
End Sub
End Class

Module Module1
Sub Main ( )
Application.Run ( new Form1 ( ) )
End sub
End Module


通过以下编译命令编译后,运行界面如下:
Vbc /t:winexe /r:system.dll /r:system.windows.forms.dll form2.vb



图02:加入了一个按钮和一个文本框的窗体


四.添加了事件的窗体(form3.vb):
VB.NET的上一个版本是VB,他准确的说不是一个完全的面向对象的编程语言,而是一个面向事件的编程语言。在VB中,编写响应事件的程序是一件非常容易的事情。例如:如果你已经创建了一个按钮叫Button1,你要编响应点击此按钮的事件,你所要做的全部工作就是创建一个叫Button1_Click的事件过程。(实际上VB的IDE已经替你做了这些)。在VB.NET中也是如此,在设计模式下,你建立一个组件,你就可以通过点击此组件告诉Visual Studio .Net你想要写什么样事件处理过程。但在本节,我们将告诉你如何手动完成这些,这样将会有助于你理解在VB.NET中事件是如何工作的。
如果你想要一个对象响应事件,那么在声明他的时候要带上关键字WithEvents。例如,如果你想在程序中编写一个按钮的事件,在声明的时候用:
Private WithEvents Button1 As Button

代替:
接着你还有为对象要响应的事件创建事件过程。例如,对一个Button1,要编写单击(Click)过程,你就需要创建Button1_Click,具体如下:
Private Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button1.Click
注释:在此写事件处理代码
End Sub

Form类和所有组件的类都继承了Control类中的事件。在.Net FrameWork中的手册中,System.Windows.Forms.Control中共定义了大约58个事件,像:Click,DoubleClick, GotFocus, LostFocus, KeyUp等等。
以下就是在窗体中定义了Button1的Click和GotFocus事件的例子。
源程序代码(form3.vb),及运行后的界面
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel
Imports System

Public Class Form1
Inherits Form
Private WithEvents Button1 As Button
Private TextBox1 As TextBox

Public Sub New()
InitializeComponent ( )
End Sub

Private Sub InitializeComponent ( )
Me.Text = "处理事件的窗体!"
Me.Width = 400
Me.Height = 300

Button1 = New Button ( )
TextBox1 = New TextBox ( )

Button1.Left = 200
Button1.Top = 200
Button1.Width = 100
Button1.Height = 40
Button1.TabIndex = 0
Button1.Text = "按钮"

TextBox1.Left = 200
TextBox1.Top = 30
TextBox1.Width = 150
TextBox1.Height = 40

Me.Controls.Add ( Button1 )
Me.Controls.Add ( TextBox1 )


End Sub

Private Sub Button1_Click ( ByVal senderAs Object , _
ByVal e As System.EventArgs ) Handles Button1.Click
TextBox1.Text = "单击按钮!"

End Sub

Private Sub Button1_GotFocus ( ByVal senderAs Object, _
ByVal e As System.EventArgs ) Handles Button1.GotFocus
TextBox1.Text = "按钮获得了焦点!"

End Sub
End Class

Module Module1
Sub Main ( )
Application.Run ( new Form1 ( ) )
End sub
End Module


在用以下命令编译文件,运行后得到以下界面:



图03:按钮获得焦点时的运行界面




图04:点击按钮时的运行界面


五.总结
至此我们已经完成了用VB.NET做一个完整的Windows应用程序的全部过程,虽然结构上相对简单,但都比较具有代表性,可以触类旁通,在此基础上创建出结构更复杂、功能更完备的Windows应用程序。 转帖于 Xue163.com_VB.NET

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多