培养游戏设计与开发精英 网站地图 | 联系我们
首页 | 学校简介 | 课程设置 | 师资力量 | 权威认证 | 开班信息 | 在线服务 | 学员天地 | 就业广场 | 学院新闻 | 媒体关注 | 交通指南
招生办公告栏

报名/咨询热线:

027-87685520、67863577

点此浏览最新一期招生简章 点此直接在线报名
游戏课程体系
汇众益智游戏学院
v4.0专业课程设置
游戏策划课程
游戏美术设计
游戏程序设计
权威专业资格认证
最新开班信息
汇众益智所获荣誉
游戏课程相关
点此浏览汇众益智游戏学院简介
《学校简介》
点此浏览就业广场栏目
《课程设置》
点此浏览最新一期招生简章
《招生简章》
专题讲座
《专题讲座》
点此进入学员天地栏目
《学员天地》
点此浏览就业广场栏目
《就业广场》
你现在的位置:首页 >> 网游 >> 正文 网游
如何在VB.NET中创建Windows应用程序之二
发布:武汉游戏学院 来源:www.gamedu.org

缺少控件数组

对于VB6开发者来说,在VB.NET中感觉很不方便的一点是缺少了控件数组。有什么办法来实现与控件数组相同的效果呢?从上文的.net中的事件处理机制我们知道,在.net中允许多个对象的事件使用同一个事件处理程序,那么结合一个标准数组就不难实现控件数组的效果了。

下面是一个简单的例子。

1.创建一个新的VB.NET Windows 应用程序。

2.在窗体上放置五个radio button,并在窗体上增加一个label。

3.双击一个radio button,会转到它的CheckedChanged事件处理程序,修改 Handles子句以包含其他四个的CheckedChanged事件。

Private Sub RadioButton1_CheckedChanged( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles RadioButton1.CheckedChanged, _
RadioButton2.CheckedChanged, _
RadioButton3.CheckedChanged, _
RadioButton4.CheckedChanged, _
RadioButton5.CheckedChanged
End Sub


4.创建一个radio buttons的数组作为一个私有成员变量:Dim radioButtons(4) As RadioButton

5.创建一个整形私有变量:Dim selectedOption As Integer = 0

6.在窗体构造器代码中增加代码以把这些radio button填充到数组中

Public Sub New()
MyBase.New()
'This call is required by the
Windows Form Designer.
InitializeComponent()
'Add any initialization after
the InitializeComponent() call
radioButtons(0) = RadioButton1
radioButtons(1) = RadioButton2
radioButtons(2) = RadioButton3
radioButtons(3) = RadioButton4
radioButtons(4) = RadioButton5
End Sub


7.在刚才的CheckedChanged程序中加入如下代码:

Private Sub RadioButton1_CheckedChanged( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles RadioButton1.CheckedChanged, _
RadioButton2.CheckedChanged, _
RadioButton3.CheckedChanged, _
RadioButton4.CheckedChanged, _
RadioButton5.CheckedChanged
Dim i As Integer = 0
Dim found As Boolean = False
While i < radioButtons.GetLength(0)
And Not found
If radioButtons(i).Checked Then
found = True
selectedOption = i + 1
Label1.Text = CStr(selectedOption)
End If
i += 1
End While
End Sub


编译运行这个程序,你会发现每次选择不同的radio button的时候,在label中显示相应的序号。是不是和控件数组一样的效果?

设置你的窗体的大小改变

在VB6中我每次改变窗体的大小,都不得不在窗体的Resize 事件中编写代码。在vb.net中有许多特点可以让你不写一行代码就可以改变控件的大小。下面我们将了解三种新特点和面板的使用,通过结合使用他们可以增强你的控件管理的灵活程度。

Docking属性

这个属性可以被设置为Top,Bottom,Left,Right或Fill。可以使控件紧挨指定的视窗边缘,或者紧挨已放置到相应视窗边缘的其他控件。设置Dock属性为Fill可以使控件调整为充满视窗的整个客户区。

Anchor属性

Anchor属性可以被设定为Top,Bottom,Left和Right的任何组合。这可以保持控件的top-left角与视窗边框具有相同的相对位置。设置Anchor属性为Top and Bottom可以垂直地调整控件,保证从视窗底部到控件底部距离相同。

AutoScrolling 窗体

AutoScroll特性,允许用户改变窗体的大小,而不改变控件的大小,改变窗体大小的时候会出现滑动条。

没有默认的窗体实例的编程

类和对象虽然在VB6中也存在,但是远远没有像在.NET中一样对象无处不在。对于VB6开发者来说,最常碰见的一个问题就是在.NET中缺乏默认的窗体实例。

VB 6 允许代码直接访问尚未实例化的窗体类;然而VB .NET 却规定在访问任何类之前都要进行实例化,而且必须借助实例来访问类。VB 6能自动生成每个窗体的默认实例,从而允许直接通过窗体名称来访问窗体,可以直接用代码 "Form2.Show" 显示 Form2 的默认实例;然而在 VB .NET 中,这么做只会引发错误,因为 Visual Basic .NET 既不会创建默认的窗体实例,也不允许直接访问尚未实例化的窗体类。

你只有先创建窗体实例,然后才可以显示窗体外观、访问窗体属性及其控件。在 VB 6 等早期版本中,多个窗体之间的交互通常需要借助默认窗体实例来完成。在 .NET 下实现多窗体交互,进行 .NET 窗体编程时应该牢牢把握下列原则:在访问窗体之前,你必须进行窗体实例化;如果在项目中有多处代码访问同一窗体,则你必须把它的同一实例指针传递给这些代码。

总结

以上总体描述了在VB.NET中新的Windows客户端开发的模型,以下几点比较重要:

Windows窗体是一个新的窗体模型,与VB6的窗体模型相比,有更多新特点。

在.net中查看所有你创建和设置你的用户界面的代码,有时可以编辑。

在.NET中事件处理机制不在基于事件处理程序的名字,而是利用Handles关键字。

由于新增的docking(停靠)和anchoring(锚定)属性,窗体布局比在VB6中更强大了。

在VB .NET中没有默认的窗体实例。

  • 上一篇文章:
  • 下一篇文章:
  • 常用功能:[收藏本页] [在线咨询] [在线报名] [联系我们] [关于我们]

    联系电话:027-87685520 027-67863577 全省报名咨询电话(免长话费):400-811-8830

    地 址:武汉市洪山区广埠屯资讯广场B座6楼(华中师范大学北门) >> 详细交通指南

    版权声明:Copyright 2008© 汇众益智游戏学院武汉校区.All Rights Reserved