Visual Basic 概念

2016-02-19 17:14 8 1 收藏

下面图老师小编要向大家介绍下Visual Basic 概念,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - 编程语言 】

  为了理解应用程序开发过程,先要理解 Visual Basic 赖以创建的一些关键概念。因为 Visual Basic 是 Windows 开发语言,所以有必要与 Windows 环境保持一定的相似性。如果不熟悉 Windows 编程,就需要明白在 Windows环境下编程和在其它环境下编程的一些根本性的差别。

  Windows 的工作方式:窗口、事件和消息

  全面地讨论 Windows 的内部工作机制将需要整整一本书的容量。没有必要深入了解所有的技术细节。Windows 的工作机制,简单地说就是三个关键的概念:窗口、事件和消息。

  不妨简单地将窗口看作带有边界的矩形区域。也许已经了解几种不同类型的窗口:如,Windows 95 的资源管理器窗口、文字处理程序中的文档窗口或者弹出提示有约会信息的对话框。除了这些最普通的窗口外,实际上还有许多其它类型的窗口。命令按钮是一个窗口。图标、文本框、选项按钮和菜单条也都是窗口。

  Microsoft Windows 操作系统通过给每一个窗口指定一个唯一的标识号(窗口句柄或 hWnd)来管理所有的窗口。操作系统连续地监视每一个窗口的活动或事件的信号。事件可以通过诸如单击鼠标或按下按键的操作而产生,也可以通过程序的控制而产生,甚至可以由另一个窗口的操作而产生。

  每发生一次事件,将引发一条消息发送至操作系统。操作系统处理该消息并广播给其它窗口。然后,每一个窗口才能根据自身处理该条消息的指令而采取适当的操作(例如,当窗口解除了其它窗口的覆盖时,重显自身窗口)。

  可以想像,处理各种窗口、事件和消息的所有可能的组合将有惊人的工作量。幸运的是,Visual Basic 使您摆脱了所有的低层消息处理。许多消息由Visual Basic 自动处理了,其它的作为事件过程由编程者自行处理。这样可以快速创建强大的应用程序而毋需处理不必要的细节。

  事件驱动模型

  在传统的或过程化的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时调用过程。

  在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发,也可以由来自操作系统或其它应用程序的消息触发,甚至由应用程序本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同的。

  因为事件的顺序是无法预测的,所以在代码中必须对执行时的各种状态作一定的假设。当作出某些假设时(例如,假设在运行来处理某一输入字段的过程之前,该输入字段必须包含确定的值),应该组织好应用程序的结构,以确保该假设始终有效(例如,在输入字段中有值之前禁止使用启动该处理过程的命令按钮)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  在执行中代码也可以触发事件。例如,在程序中改变文本框中的文本将引发文本框的 Change 事件。如果 Change 事件中包含有代码,则将导致该代码的执行。如果原来假设该事件仅能由用户的交互操作所触发,则可能会产生意料之外的结果。正因为这一原因,所以在设计应用程序时理解事件驱动模型并牢记在心是非常重要的。

  交互式开发

  传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。但是 Visual Basic 与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。

  在大多数语言里,如果编写代码时发生了错误,则在开始编译应用程序时该错误就会被编译器捕获。此时必须查找并改正该错误,然后再次进行编译,对每一个发现的错误都要重复这样的过程。Visual Basic 在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就像一位专家在监视代码的输入。

  除即时捕获错误以外,Visual Basic 也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误,则将错误突出显示于代码中。这时可以更正错误并继续编译,而不需从头开始。

  由于 Visual Basic 的交互特性,因此可以发现在开发应用程序时,您自己正频繁地运行着您的应用程序。通过这种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1614660.html

延伸阅读
循环结构 循环结构允许重复执行一行或数行代码。Visual Basic 支持的循环结构有: 1.Do...Loop 2.For...Next 3.For Each...Next Do...Loop 用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Thencondition 必须是一个数值或...
通过限制焦点验证控件数据 Validate 事件和 CausesValidation 属性是在允许用户将焦点移开控件之前,串联使用以确认对控件的输入的。例如:假设有几个文本框和一个 Help 按钮的应用程序,当每个文本框接收焦点时,您想在文本框的特殊验证准则被满足之前阻止用户移动焦点;然而,您也想允许用户在任何时候都能单击 Help 按钮。 要做到...
标签: vb
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1) Microsoft Visual Basic.NET 是 Microsoft Visual Basic? 的后续版本,它是基于 .NET 框架重新设计的,您可以用它来轻松地创建用于 Microsoft Windows? 操作系统和 Web 的下一代应用程序。使用 Visual Basic.NET,可视化开发 Web 应用程序、Web 服务、Windows 应用程序和服务器端组件...
标签: vb
升级 向导 将 Currency 数据类型转换为 Decimal,因此以下代码: Dim x As Currency 升级后将变为: Dim x As Decimal Date Visual Basic 6.0 Date 变量在内部以 Double 格式存储,能够作为 Double 类型的变量操作。 Date 变量存储为 IEEE 64 位浮点数,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日的日期和从 0:...
标签: vb
升级 向导 过程的 ParamArray 参数标记有升级警告。例如,以下代码: Function MyFunction(ParamArray p() As Variant) ... End Function 升级后将变为: UPGRADE_WARNING: ParamArray p was changed from ByRef to ByVal Function MyFunction(ByVal ParamArray p() As Object) ... End Function 声明中的...

经验教程

300

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部