VB 版 (精华区)
发信人: student (earth), 信区: VB
标 题: 深入浅出VB.Net Windows Form-2
发信站: 哈工大紫丁香 (2002年01月26日19:16:15 星期六), 站内信件
创建VB.Net表单
VB.Net可以利用.Net framework基类库快速创建一个Windows应用程序,System.Wind
ows.Forms名称空间提供你需要的Windows表单,创建表单只需要创建一个继承于System.W
inForms.Form的新类,下面的代码创建了一个新类form1,该类继承于System.Windows.For
ms.Form。
Public Class Form1 : Inherits System.Windows.Forms.Form
End Class
注意如果 Inherits在一个独立的行,那么就不需要用分号分隔类名。
Public Class Form1
Inherits System.Windows.Forms.Form
End Class
当表单工作时就要使用来自System.Windows.Forms 名称空间的类,那么就要引入名称
空间。
Imports System.Windows.Forms
Public Class Form1
Inherits System.WinForms.Form
End Class
如果使用visual studio.Net那么就要写一些初始化代码。这也许让你有点糊涂了。我
们来做点实验,创建一个新的Windows应用程序,打开代码窗,删除上面的所有代码,然后
按F5运行这个程序,你将看到一个空白的窗体。很容易,是不是?但这怎么可能?这是因
为FORM1继承于System.Windows.Forms.Form。System.Windows.Forms.Form 包含了很多类
,窗体类自身是在第7层,他继承于ContainerControl,ContainerControl 继承于Scroll
ableControl,我们看下图就明白了:
Object
MarshalByRefObject
Component
Control
ScrollableControl
ContainerControl
Form
图一1: System.Windows.Forms.Form类的继承关系
然而你还是怀疑,没有任何代码,他是怎样显示窗体的,Visual Studio.Net 实际上
只作了一点事情,首先是.VBproj文件指定一个首先运行的类,这有点象隐藏起来的 sub
main,在缺省状态下,第一个表单(就象例子中的form1)应该是被创建的第一个类,VB.N
et假定是一个无争议的构造器,就象:
Public Sub New()
End Sub
所以,第一个表单有一个构造器,显式的创建这个构造器不是件好事。
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
End Sub
End Class
当你用new关键字实例化一个新对象时,一个类构造器将被调用,通常你只需要写一些
初始化代码就行了。在初始化时有大量代码,你可以建一个private sub来装载这些代码,
初始化时只需要调用这个子程序
把下面的代码添加进前面的程序中
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
InitializeComponent
End Sub
Private Sub InitializeComponent()
'
' write your initialization code here
'
End Sub
End Class
初始化代码一般包括:设置表单的标题或者定义表单的大小,在VB.Net的表单中表示
表单标题的是text属性,这个属性由System.Windows.Forms.Control继承而来,对于大小
,表单由Width 和 Height 属性决定,同样是继承于System.Windows.Forms.Control .
引用现在使用的类的实例时可以使用关键字:Me,在下面的InitializeComponent 子程
序中确定表单的标题和大小。
Private Sub InitializeComponent()
Me.Text = "Developer Form"
Me.Width = 400
Me.Height = 300
End Sub
按下F5,运行,可以看见一个宽400高300pixels的空白表单,只是他的标题变成"Dev
eloper Form."
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.236.168]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.085毫秒