每个 Visual Basic 应用程序均必须包含一个称为VB.NET Main过程。该过程为应用程序的起始点并为应用程序提供总体控制。.NET Framework 在已加载应用程序并准备将控制传递给它时,将调用 Main 过程。除非您要创建 Windows 窗体应用程序,否则就必须为自运行的应用程序编写 Main 过程。
创新互联建站是一家专业提供北安企业网站建设,专注与网站设计制作、网站制作、成都h5网站建设、小程序制作等业务。10年已为北安众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
Main 中包含首先运行的代码。在 Main 中,可以确定在程序启动时首先加载的窗体,确定系统上是否已在运行您的应用程序副本,为应用程序建立一组变量,或者打开应用程序需要的数据库。
VB.NET Main过程的要求
独立运行的文件(扩展名通常为 .exe)必须包含 Main 过程。库(例如,扩展名为 .dll)不独立运行,因而不需要 Main 过程。可以创建的不同类型的项目的要求如下:
控制台应用程序可以独立运行,而且您必须提供至少一个 Main 过程。
Windows 窗体应用程序可以独立运行。但是,Visual Basic 编译器会在此类应用程序中自动生成一个 Main 过程,因而您不需要编写此过程。
类库不需要 Main 过程。这些类库包括 Windows 控件库和 Web 控件库。作为类库部署 Web 应用程序。
声明VB.NET Main过程
有四种方法可以声明 Main 过程。它可以使用参数或不使用参数,可以返回值或不返回值。
注意
如果在类中声明 Main 过程,则必须使用 Shared 关键字。在模块中,Main 不必是 Shared。
最简单的方法是声明一个不使用参数或不返回值的 Sub 过程。
Module mainModule
Sub Main()
MsgBox("The Main procedure
is starting the application.")
' Insert call to appropriate
starting place in your code.
MsgBox("The application
is terminating.")
End Sub
End ModuleMain
还可以返回一个 Integer 值,操作系统将其作为程序的退出代码。其他程序可以通过检查 Windows ERRORLEVEL 值来测试该代码。若要返回退出代码,必须将VB.NET Main过程声明为 Function 过程而不是 Sub 过程。
Module mainModule
Function Main() As Integer
MsgBox("The Main procedure
is starting the application.")
Dim returnValue As Integer = 0
' Insert call to appropriate
starting place in your code.
' On return, assign appropriate
value to returnValue.
' 0 usually means successful
completion.
MsgBox("The application is
terminating with error level " _
CStr(returnValue) ".")
Return returnValue
End Function
End ModuleMain
还可以采用一个 String 数组作为参数。数组中的每个字符串均包含一个用于调用程序的命令行参数。您可以根据它们的值采取不同的操作。
Module mainModule
Function Main(ByVal cmdArgs()
As String) As Integer
MsgBox("The Main procedure is
starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length 0 Then
For argNum As Integer = 0 To
UBound(cmdArgs, 1)
' Insert code to examine cmdArgs
(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate starting
place in your code.
' On return, assign appropriate
value to returnValue.
' 0 usually means successful completion.
MsgBox("The application is
terminating with error level " _
CStr(returnValue) ".")
Return returnValue
End Function
End Module
可以声明VB.NET Main过程来检查命令行参数而不返回退出代码,如下所示。
Module mainModule
Sub Main(ByVal cmdArgs() As String)
MsgBox("The Main procedure is
starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length 0 Then
For argNum As Integer = 0 To
UBound(cmdArgs, 1)
' Insert code to examine cmdArgs
(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate
starting place in your code.
MsgBox("The application is
terminating."
End Sub
End Module
VB工程资源管理器窗口包含的文件类型:
一个VB工程共包含七种类型的文件:
1、项目文件 *.vbp:该文件包含与该工程有关的全部文件和对象的清单。
2、窗体文件 *.frm:该文件包含亩体及控件的属性设置。窗体级的变量及外部过程的声明,事件程及用户自定义过程每一个窗体都有一个窗体文件。
3、模块文件 *.bas:该文件包含模块级的变量和外部过程的声明,用户自定义的可供本工程内各窗体调用的过程。该文件可选。
4、定制控件 *.ocx:该文件可以添加到工具箱并在窗体中使用。
5、类模块 *.cls:用于创建含有属性和方法的用户自己的对象。该文件可选。
6、资源文件 *.res:包含不必重新编代码就可以使用的位图、字符串和其他数据。该文件可选。
7、定制控件2 *.dll:当窗体或控件含有二进制属性(图片、图标等)将窗体文件保存时,系统自动产生同名的二进制文件。
扩展资料:
VB语言的特征衡量:
在 Visual Basic 中,可通过属性、方法和事件来说明和衡量一个对象的特征。
1、事件(Event)
事件是指发生在某一对象上的事情。事件又可分为鼠标事件和键盘事件。
例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件。
总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件。
2、方法(Method)
方法是用来控制对象的功能及操作的内部程序。例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”。
以窗体为例,它具有显示(show)或隐藏(hide)的方法。总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作。
3、属性(Property)
属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标。可以通过属性改变对象的特性。
有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置。
可以在运行时读取和设置取值的属性成为读写属性,只能读取的属性成为只读属性。总之属性指明了对象“是什么样的?”,常用于定义对象的外观。
4、对象与类
对象(Object)
Visual Basic.NET 具有“面向对象”的特性,Visual Basic.NET 应用种程序的基本单元是对象,用 Visual Basic.NET 编程就是用“对象”组装程序。
这种“面向对象”的编程方法与传统的全部用代码编制程序的方法有很大区别,就像用集成电路芯片组装电视机和用三极管,二极管组装电视机的区别一样。
显然,“面向对象”的编程方法比传统的编程方法更简单,更方便,并且编写出的程序也更加稳定。因此,“对象”可以被看作 Visual Basic.NET 程序设计的核心。
在 Visual Basic.NET程序设计中,对象中还可以包含头,手,腿,脚等部位,其中的每个部位又可以单独作为作为被研究的对象。在 Visual Basic.NET程序设计中,整个应用程序就是一个对象,应用程序中又包含着窗体(Form),命令按钮(Command),菜单(Menu)等对象。
5、类(Class)
在 Visual Basic.NET中,对象是由类创建的,因此对象可以说是类的具体实例,这就好比是蛋糕和做蛋糕的模具之间的关系。
各种不同的对象分属于各种不同的种类。同一类对象可能具有一些不同的特征(或是说同一类对象不一定具有完全相同的特性);
具有某些相同的特性的对象,不一定是同一类对象,这就好比是人和猴子虽然都有身高、性别等特征,但二者之间还存在着智商、语言等特性差异,这两个对象之间的特性相差很多,根本就不能算是同一类对象。
而男人和女人,虽然有着性别、生理等方面的差异,但他们绝大部分特性相同,可以算是同一种类。由此,可以归结为一句话:同一类对象的绝大部分特性相同。
参考资料来源:百度百科-VB项目文件
参考资料来源:百度百科-Visual Basic
您好,这样的:
在右边你的"项目名称"上右击,里面有个“添加”,再点击“添加模块”。
这个里面写的就是连接串 创建一个公共变量connstring
假设Resources中有1.jpg
Form1.image = My.Resources.Resource1.1
有两种可能
1、没有写按钮对应的代码
2、按钮的Enabled属性值为False,改成True就可以了
二
把按钮的Enable属性改为False。 用代码:按钮名.Enable=False。 用API:EnableWindow。
1、VB是一种可视化的面向对象的程序设计语言,Enabled是VB中控件的一种属性。
2、Enabled属性有两种值True和False,分别代表真和假。当一个控件的Enabled属性值为真时代表该控件可以用,当控件的Enabled属性为False时代表该控件不可用(图形会变度为灰色且不可以选中)。 扩展资料 vb.net 特性:
1、vb.net 完全集成到 Visual Studio 集成开发环境中,在这种集成开发环境与 VB 在若干方面有差异。主要体现在窗体的布局以及菜单等方面都有所不同。
2、vb.net 项目与 VB 不同。它使用基于文件夹的模型,所有项目均放置在项目文件夹层次结构中。
3、vb.net 中使用ado.net来访问数据库,ado.net是.netFramework的一部分。在 vb.net 中实现数据访问的方法主要有两种
今天,随着应用软件的复杂化,开发者经常需要处理一些很长的类。一种更易于管理这些类的方法就是,将这些类分成多个文件。Partial是VB.NET新引进的一个关键字,它允许您将类分成多个物理源文件。您也可以使用Partial关键字用多个文件来定义一个类。 一般大型项目都有很多开发者,这些开发者可能会在同一时间对同一个类进行操作,这时候将一个类分解成多个源文件就更利于开发者同时对同一个类进行操作,或者当这些类定义得太长的时候,将它分解成多个文件就会更易于处理。 您需要使用Partial关键字,这个关键字的作用就是告诉VB编译器在创建类之前去收集类的所有分块。如果您使用了多个文件,您并不需要在类的每一个地方都使用这个关键字——只要在一个地方用到就可以了。然而,同一个类的所有块都必须定义在同一个命名空间中。 编译器将类看作是所有部分声明的集合。每个部分定义的每个修改者都可以应用完整的类。 注意:如果您使用的类是从其它类继承而来的,或者是实现了某个接口,那么只要在类的某一部分使用Inherits或者Implements关键字就可以了。
Structure是值类型,classe是引用类型 Structure用栈来分配; classe用堆来分配 structure的成员默认情况下是公共的,而Class的成员变量和常量默认情况下是私有的而其它成员默认情况下是公共的.这与VB6是相兼容的。 structure必须至少有一个非共享的成员变量或事件成员,class可以完全是空的. Structure的成员不能声明成Protected; class成员可以. 一个structure过程只能在它是一个Shared Sub时才能handle events而且只能通过AddHandler语句;而任何class过程都可以handle events,既可以用Handles关键字或 AddHandler语句。 Structure variable declarations cannot specify initializers, the New keyword, or initial sizes for arrays; class variable declarations can. Structure继承自ValueType类,不能从其它任何类型继承; classes可以从任何不是ValueType的类继承 Structure不能继承而Class可以 Structure从来不析构terminated因此common language runtime (CLR)从来不调用它的Finalize方法,classe由垃圾回收器进行析构, 当没有任何对该类的引用时调用它的Finalize方法 structure 不需要一个构造函数,而Class需要 Structure只能有带参数的非共享的构造函数; classes 可以有带或不带参数的构造函数. 每个Structure都有一个默认的不带参数的构造函数以对其成员进行初始化,你可以重新定义该函数