1、第2章 程序设计入门工具箱工程窗口属性窗口窗体布局窗口窗体对象对象窗口Visual Basic 6的集成开发环境代码窗口立即窗口本地窗口主菜单主工具栏PictureBox 控件TextBox 控件CommandButton 控件OptionButton 控件ListBox 控件VScrollBar 控件DriveListBox 控件FileListBox 控件Line 控件Data 控件Image 控件Shape 控件DirListBox 控件Timer 控件HScrollBar 控件ComboBox 控件CheckBox 控件Frame 控件Label 控件Visual Basic 工具箱窗
2、口Visual Basic 集成环境的集成环境的“工程工程”窗口和窗口和“属性属性”窗窗口口Visual Basic 集成环境的集成环境的“对象对象”窗口窗口一、向窗体上添加控件的方法一、向窗体上添加控件的方法(1)单击图标,再拖动)单击图标,再拖动(2)双击图标)双击图标(3)Ctrl键单击图标,再拖动键单击图标,再拖动(4)复制粘贴)复制粘贴二、选择控件的方法二、选择控件的方法P 20三、改变控件的大小和三、改变控件的大小和位置位置P 21程序的设计、运行和中断状态程序的设计、运行和中断状态(1)设计状态)设计状态设置对象、编辑代码。设置对象、编辑代码。(2)运行状态)运行状态解释型地运行
3、程序。解释型地运行程序。(3)中断状态)中断状态调试程序,进行排错。调试程序,进行排错。可以在三种状态之间进行切换。可以在三种状态之间进行切换。窗体(Form)对象 窗体是窗口的框架,是窗体是窗口的框架,是VB程序最基本的对象,是各类控件的程序最基本的对象,是各类控件的容器容器。VB开发环境为每个窗体模块自动地创建了一个窗体对象。开发环境为每个窗体模块自动地创建了一个窗体对象。重温对象的PME模型任何对象都可以从以下三个方面进行描述:任何对象都可以从以下三个方面进行描述:(1)“属性属性”(Property)对象所具有的特性。对象所具有的特性。(2)“方法方法”(Method)对象可能执行的操
4、作或行为。对象可能执行的操作或行为。(3)“事件事件”(Event)对象可以识别并作出反应的外部刺激。对象可以识别并作出反应的外部刺激。Name:对象名。用于标识对象的字符串。对象名必须满足以下:对象名。用于标识对象的字符串。对象名必须满足以下条件:条件:(1 1)必须以字母开头)必须以字母开头(2 2)可以包含字母、数字和下划线,不能包括标点和空格)可以包含字母、数字和下划线,不能包括标点和空格(3 3)不能多于)不能多于4040个字符个字符(4 4)不能与其它公共对象重名,可以与关键字相同,但应避免不能与其它公共对象重名,可以与关键字相同,但应避免(5)在同一模块下,不能重名)在同一模块下
5、,不能重名(6)建议为对象名加上类型)建议为对象名加上类型前缀前缀Form对象的常用属性P339附录附录Caption:显示在窗体标题栏上的文字。:显示在窗体标题栏上的文字。Icon:窗体图标。与一图标文件相联系。如为:窗体图标。与一图标文件相联系。如为“无无”则使用默认则使用默认图标。图标。Visible:窗体是否可见,:窗体是否可见,True或或 False。Form对象的常用属性Left、Top属性属性:窗体相对于屏幕的位置:窗体相对于屏幕的位置(原点为屏幕左上方原点为屏幕左上方)。坐标值的默认单位是缇坐标值的默认单位是缇(twip),1缇等于缇等于1/567厘米。厘米。Width、He
6、ight属性属性:窗体的宽度与高度。默认单位也是缇。:窗体的宽度与高度。默认单位也是缇。Moveable属性属性:True/False,False时窗体不能被鼠标拖动。时窗体不能被鼠标拖动。Enabled属性:属性:True/False,False时窗体及上面的控件不响应时窗体及上面的控件不响应用户的操作。用户的操作。Picture属性:属性:指定一个图片文件,作为窗体的背景图。指定一个图片文件,作为窗体的背景图。BorderStyle:边框类型。决定窗体是否可缩放、标题栏是正常:边框类型。决定窗体是否可缩放、标题栏是正常还是窄、是否在任务栏上出现等。该属性对还是窄、是否在任务栏上出现等。该属
7、性对MinButton、MaxButton属性的设置有影响。属性的设置有影响。ControlBox:窗体是否有图标、系统菜单和最大化、最小化与:窗体是否有图标、系统菜单和最大化、最小化与关闭按钮。关闭按钮。WindowState属性:属性:取值为取值为0、1、2,决定窗体还原、最小化、,决定窗体还原、最小化、最大化状态最大化状态。MaxButton与与MinButton:是否显示最大化与最小化按钮,值为:是否显示最大化与最小化按钮,值为True或或False。只有二者均为。只有二者均为False时才不显示,否则设为时才不显示,否则设为False则则只以无效显示。只以无效显示。Form对象的常用
8、属性当当ControlBox、BorderStyle、WindowState属性,属性,与与MaxButton与与MinButton属性有矛盾时,后者服从属性有矛盾时,后者服从于前者。于前者。注意属性的分类设计时对象属性的更改(1)在设计)在设计(利用属性窗口利用属性窗口)和运行状态和运行状态(通过程序代码通过程序代码)都可设都可设置的属性。置的属性。(2)只能在设计时设置,不能在运行时设置的属性。如对象)只能在设计时设置,不能在运行时设置的属性。如对象的的Name属性。称为属性。称为只读只读属性。属性。(3)只能在运行时设置,不能在设计时设置的属性。如窗体)只能在运行时设置,不能在设计时设置
9、的属性。如窗体CurrentX、Current属性,在属性窗口中不可见,称为属性,在属性窗口中不可见,称为运行运行时时属性属性(4)在设计和运行状态下都可设置,但只有在运行时才能生)在设计和运行状态下都可设置,但只有在运行时才能生效的属性。如效的属性。如Visible属性属性。在属性窗口内完成,方式有:在属性窗口内完成,方式有:利用键盘输入利用键盘输入在已提供的选项中选择在已提供的选项中选择利用对话框利用对话框运行时对象属性的读写方法访问对象属性的格式:访问对象属性的格式:对象名对象名.属性名属性名如:如:Form1.Caption通过此格式可以读取属性的值,也可以设置属性的值。通过此格式可以
10、读取属性的值,也可以设置属性的值。如:如:Form1.Caption 你好!你好!Visual Basic 或:或:x=Form1.Left 赋值赋值语句语句广泛用于程序广泛用于程序代码的编写中代码的编写中Move方法方法,语法为:,语法为:对象名对象名.Move Left,Top,Width,Height 该方法将该方法将 object 对象移动到以对象移动到以 left,top 定义的新位置。同时可定义的新位置。同时可以改变该对象的大小(以以改变该对象的大小(以 width,height为新的宽与高)。其中为新的宽与高)。其中 left 参数必须给定。但是,要给定任何其它的参数,必须先给定
11、出现在参数必须给定。但是,要给定任何其它的参数,必须先给定出现在语法中该参数前面的全部参数。语法中该参数前面的全部参数。例:设例:设frmFirst为一窗体对象名。为一窗体对象名。frmFirst.Move 1000,1000,1200,2000 既移动位置,又改变大小既移动位置,又改变大小frmFirst.Move 1000,1000只移动只移动frmFirst.Move 1000只左右移动只左右移动frmFirst.Move 1000,1200错误,缺少参数错误,缺少参数Move方法同时改变了方法同时改变了Left,Top,Width与与Height属性的值。效果与属性的值。效果与分别设置
12、这些属性的值等效。分别设置这些属性的值等效。Form对象的常用方法对象的常用方法 某些方法的执行改变一些属性的值,有些方法的执行结果某些方法的执行改变一些属性的值,有些方法的执行结果可能受一些属性的影响。方法的执行可能等效于对一些属性的修可能受一些属性的影响。方法的执行可能等效于对一些属性的修改。改。Hide方法方法隐藏窗体隐藏窗体语法为:语法为:对象名对象名.Hide 此方法将此方法将object对象隐藏,并将其对象隐藏,并将其Visible属性设置为属性设置为 False。窗体被隐藏之后,就不能响应用户的操作。该方法无参数。窗体被隐藏之后,就不能响应用户的操作。该方法无参数。Form对象的
13、常用方法Show方法方法:使窗体从隐藏状态变为显示状态。:使窗体从隐藏状态变为显示状态。对象名对象名.Show Show方法有两个参数,将在第方法有两个参数,将在第11章讲解。章讲解。Print方法方法:在窗体表面上显示内容。:在窗体表面上显示内容。对象名对象名.Print“,|;”分隔的输出项分隔的输出项 Print支持以逗号或分号分隔的多个输出项的值,每个输支持以逗号或分号分隔的多个输出项的值,每个输出项可以是属性、变量、常量或表达式。出项可以是属性、变量、常量或表达式。“,”按制表列输出,按制表列输出,“;”按紧凑格式输出。按紧凑格式输出。默认情况下,每调用一次默认情况下,每调用一次Pr
14、int方法将在窗体上显示一行方法将在窗体上显示一行内容。调用内容。调用Print语句的末尾以语句的末尾以“,”或或“;”结尾,则不自结尾,则不自动换行。动换行。Print方法的详细用法见第方法的详细用法见第10章。章。事件是对象能够识别的外部刺激,该刺激既可能来自于用户,也可能来自于操作系统。在VB中,每一类对象能支持什么事件是已经定义好的,并且每个事件都有事件名。某个对象支持一个事件就说明它能识别这个事件,那么要让它对这个事件作出反应以及如何反应,则必须编写这个对象的“事件过程”。窗体窗体Form对象的常用事件对象的常用事件 程序设计者在工程中添加了窗体和控件等对象并设置了初始属性之后,就该
15、编写它们的事件过程,这样在程序运行过程中,各种对象才能对用户的操作作出反应,并完成程序指定的任务。窗体窗体Form对象的常用事件对象的常用事件 在在VBVB中,所有对象事件过程的语法结构都是:中,所有对象事件过程的语法结构都是:Private Sub Private Sub 过程名过程名(参数参数)(VB(VB语句语句)End Sub End Sub其中其中过程名不能随便给定。过程名不能随便给定。对于窗体对象,事件过程名是对于窗体对象,事件过程名是“Form_Form_事件名事件名”;对于各种控件对象,事件过程名是;对于各种控件对象,事件过程名是“对象对象名名_ _事件名事件名”。事件过程是否
16、有参数,有几个参数,因事件的不。事件过程是否有参数,有几个参数,因事件的不同而不同。事件过程总是以同而不同。事件过程总是以“End Sub”End Sub”表示过程的结束。表示过程的结束。用户可以把想让对象对该事件所做的反应以用户可以把想让对象对该事件所做的反应以VBVB语句的形式语句的形式写在事件过程中。在一个对象的事件过程中,可以设置其自身写在事件过程中。在一个对象的事件过程中,可以设置其自身的或其它的对象的属性、执行其自身的或其它的对象的方法、的或其它的对象的属性、执行其自身的或其它的对象的方法、甚至可以调用自身的或其它的对象的事件过程。甚至可以调用自身的或其它的对象的事件过程。Clic
17、k事件事件:当用户在窗体上(除标题栏和边框)单击鼠标左键或右:当用户在窗体上(除标题栏和边框)单击鼠标左键或右键时引发。键时引发。Click事件过程:当对象接收到事件过程:当对象接收到Click事件时所执行的代码。窗体的事件时所执行的代码。窗体的Click事件语法:事件语法:Private Sub Form_Click()(语句组)(语句组)End Sub窗体窗体Form对象的常用事件对象的常用事件DblClick事件事件:当用户在窗体上(除标题栏和边框)快速双击:当用户在窗体上(除标题栏和边框)快速双击鼠标键时引发。鼠标键时引发。DblClick事件过程:接收到事件过程:接收到DblClic
18、k事件时执行事件时执行的代码,的代码,DblClick过程语法格式:过程语法格式:Private Sub Form_DblClick()(语句)(语句)End SubResize事件事件:当窗体因任何原因大小发生变化时(或第一次显示:当窗体因任何原因大小发生变化时(或第一次显示窗体时)引发该事件。在拖动边框窗体改变大小时,会连续引发窗体时)引发该事件。在拖动边框窗体改变大小时,会连续引发多个多个Resize事件。事件。Load事件事件:窗体在加载显示时引发此事件,常用来对窗体或控件:窗体在加载显示时引发此事件,常用来对窗体或控件进行初始化。进行初始化。窗体Form对象的常用事件“代码”窗口的使
19、用打开【例2.2】打开【例2.1】事件过程就是一个事件发生时执行的程序代码。事件过程就是一个事件发生时执行的程序代码。每每个事件过程都是相互独立的,事件过程排列的前后个事件过程都是相互独立的,事件过程排列的前后顺序无关紧要。顺序无关紧要。VB的程序设计方式既是面向对象的,的程序设计方式既是面向对象的,又是事件驱动的。又是事件驱动的。Left、Top:命令按钮在窗体上的位置。坐标值的默认单位是缇。:命令按钮在窗体上的位置。坐标值的默认单位是缇。Width、Height:按钮的宽度与高度。默认单位也是缇。:按钮的宽度与高度。默认单位也是缇。Visible:True 或或False。该按钮是否可见(
20、。该按钮是否可见(运行时起作用运行时起作用)。)。Name:对象名。要符合:对象名。要符合VB对对象名的要求。建议为按钮对象名加对对象名的要求。建议为按钮对象名加上上“cmd”前缀。前缀。常用属性TopTopLeftLeftWidth命令按钮(命令按钮(CommandButton)对象)对象Caption:显示在按钮表面上的文字。:显示在按钮表面上的文字。可以使用可以使用“&”字符与其后字符与其后的字母组成快捷键。的字母组成快捷键。Enabled:True 或或False。False时按钮变灰,不能响应点击。时按钮变灰,不能响应点击。Value:将该属性设为:将该属性设为True可以触发按钮对
21、象的可以触发按钮对象的Click事件事件。只能只能在运行时设置。在运行时设置。常用属性TopTopLeftLeftWidth命令按钮(命令按钮(CommandButton)对象)对象Default:若该属性为:若该属性为True,则按钮对象为默认按钮,则按钮对象为默认按钮。不管。不管焦点焦点 在哪个控件上,用户按回车键,均触发按钮的在哪个控件上,用户按回车键,均触发按钮的Click事件。默认按事件。默认按钮有较粗的边框。一个窗体上只能有一个按钮的钮有较粗的边框。一个窗体上只能有一个按钮的Default属性为属性为True。Cancel:若该属性为:若该属性为True,则按钮对象为默认的,则按钮
22、对象为默认的“取消取消”按钮按钮。不。不管焦点在哪个控件上,用户按管焦点在哪个控件上,用户按“ESC”键,均触发按钮的键,均触发按钮的Click事件。事件。常用属性TopTopLeftLeftWidth命令按钮(命令按钮(CommandButton)对象)对象Move方法方法,此方法在窗体上移动按钮对象,参数的意义与窗体的,此方法在窗体上移动按钮对象,参数的意义与窗体的Move方法相同。方法相同。object.Move Left,Top,Width,Height命令按钮对象的常用方法和事件Click事件事件:当用户在按钮表面上单击鼠标左键产生:当用户在按钮表面上单击鼠标左键产生Click事件。
23、另事件。另外下列方法也能触发按钮的外下列方法也能触发按钮的Click事件:事件:(1)用用Tab键把焦点移动到该按钮上,然后按空格或回车键。键把焦点移动到该按钮上,然后按空格或回车键。(2)按快捷键()按快捷键(Alt+具有下划线的字母)具有下划线的字母)(3)如为窗体的缺省按钮,按回车键。如为窗体的缺省按钮,按回车键。(4)如为窗体的默认如为窗体的默认“取消取消”按钮,按按钮,按ESC键。键。(5)在运行阶段设置属性:)在运行阶段设置属性:object.Value=TrueClick事件过程:当对象接收到事件过程:当对象接收到Click事件时所执行的代码。按钮的事件时所执行的代码。按钮的Cl
24、ick事件语法:事件语法:Private Sub object_Click()(语句组)(语句组)End Sub命令按钮对象不支持鼠标双击事件,即命令按钮对象不支持鼠标双击事件,即无无DblClick事件事件。双击操作。双击操作被理解为两个单击操作。被理解为两个单击操作。命令按钮对象的常用方法和事件窗体与控件事件过程名的区别窗体与控件事件过程名的区别:对于窗体对象,其事件过程名为对于窗体对象,其事件过程名为“Form_事件名事件名”,与其对象名无,与其对象名无关。关。对于控件对象,其事件过程名为对于控件对象,其事件过程名为“对象名对象名_事件名事件名”,用到了其对,用到了其对象名。象名。命令按
25、钮对象的常用方法和事件打开【例2.3】Left、Top、Width、Height、Visible、Enabled 属性属性与命令按钮的意义相同与命令按钮的意义相同。Name:对象名。:对象名。Text:文本框中的文本内容(默认属性)。:文本框中的文本内容(默认属性)。文本框(TextBox)对象的常用属性MaxLength:限制文本框中的文本的最:限制文本框中的文本的最大长度(字符个数)。如果为大长度(字符个数)。如果为0,则长度,则长度只受系统限制。只受系统限制。文本框(TextBox)对象的常用属性Appearance:文本框是平面的还是立体:文本框是平面的还是立体的。的。Locked:为
26、:为True文本框的内容不能被编文本框的内容不能被编辑(辑(与将与将Enabled设置为设置为False不同不同,Enabled为为False时会将对文本框的鼠标时会将对文本框的鼠标操作传递给窗体)操作传递给窗体)。SelLength、SelStart和和 SelText:分别为当前选定文本的长度、选分别为当前选定文本的长度、选定文本的起始位置(以定文本的起始位置(以0为起点)与选定文本的内容。为起点)与选定文本的内容。这三属性只这三属性只在运行时使用。在运行时使用。文本框(TextBox)对象的常用属性Alignment:文本框中文本相对于文本框的对齐方式。须将:文本框中文本相对于文本框的对
27、齐方式。须将MultiLine设为设为True。PasswordChar:设置口令字符。须将设置口令字符。须将MultiLine设为设为False才能生才能生效。效。MultiLine:为:为True时,文本框中可以显示多行内容,最多可包时,文本框中可以显示多行内容,最多可包含含32K个字符。个字符。False时,忽略换行符,最多可包含时,忽略换行符,最多可包含2048。ScrollBars:设置文本框的滚动条,有:设置文本框的滚动条,有03共共4个取值。只有个取值。只有MultiLine属性为属性为True时,此属性才有意义。时,此属性才有意义。Move方法:方法:用法与窗体相同。用法与窗体
28、相同。Click事件、事件、DblClick事件事件:因为文本框控件已具有内在的编辑功:因为文本框控件已具有内在的编辑功能,一般不必编写其能,一般不必编写其Click和和DlbClick事件过程。事件过程。Change事件事件:当文本框的内容发生改变时引发:当文本框的内容发生改变时引发Change事件。事件。Private Sub object_Change()(语句)(语句)End Sub文本框(文本框(TextBox)对象的方法与事件)对象的方法与事件打开【例2.4】标签可以用来对其它没有标题的控件(如文本框)进行说标签可以用来对其它没有标题的控件(如文本框)进行说明,也可用来显示一些程序
29、运行过程中的提示信息。标签对象明,也可用来显示一些程序运行过程中的提示信息。标签对象显示的内容不能由用户直接修改,但可由程序代码修改。显示的内容不能由用户直接修改,但可由程序代码修改。标签(标签(Label)对象)对象Left、Top、Width、Height、Visible、Enabled 属性与命令按属性与命令按钮的意义相同。钮的意义相同。Name:对象名。:对象名。AutoSize和和WordWrap:这两个属性决定标签大小是否随显示的:这两个属性决定标签大小是否随显示的文本内容变化,以及变化时是垂直还是水平扩展。文本内容变化,以及变化时是垂直还是水平扩展。Caption:标签上显示的文
30、字内容。可以使用:标签上显示的文字内容。可以使用“&”来为标签创建快来为标签创建快捷键。标签本身并不能拥有输入焦点。当用户按快捷键时,会把焦捷键。标签本身并不能拥有输入焦点。当用户按快捷键时,会把焦点传递给点传递给Tab键次序中下一个可拥有焦点的控件。键次序中下一个可拥有焦点的控件。与文本框的与文本框的Text属性不同,标签控件属性不同,标签控件Caption属性的值不能由用属性的值不能由用户直接修改,但可以由程序修改。户直接修改,但可以由程序修改。BorderStyle:当此属性为:当此属性为1时,标签有边框。默认值为时,标签有边框。默认值为0,即无边,即无边框。框。常用属性标签(Label
31、)对象标签控件支持标签控件支持:Move方法、方法、Click事件、事件、DblClick事件与事件与Change事件事件。当标签当标签Caption属性值变化时,引发属性值变化时,引发Change事件。事件。因为标签控件主要的作用是描述其他控件,显示的是形态文本。因为标签控件主要的作用是描述其他控件,显示的是形态文本。一般情况下,不必编写其事件过程。一般情况下,不必编写其事件过程。Label对象的常用事件和方法打开【例2.5】1.字母的大小写问题,关键字字母的大小写问题,关键字2.语句:语句:程序以语句为单位,一般情况下,一条语句占一行。程序以语句为单位,一般情况下,一条语句占一行。3.续行
32、续行:如果语句太长,可以分为连续的多行书写,这时,未完的:如果语句太长,可以分为连续的多行书写,这时,未完的行要以行要以空格与下划线空格与下划线(称为(称为“续行符续行符”)结尾。注意分行时要避开)结尾。注意分行时要避开关键字、对象名、过程名。如:关键字、对象名、过程名。如:lblMyFirst.Caption=lblMyFirst.Caption _+123134.一行中写多条语句一行中写多条语句:要在一行中写多条语句,可在多条语句之间:要在一行中写多条语句,可在多条语句之间插入插入冒号冒号作为分隔。如:作为分隔。如:txtFirst.Text=“Hello”:frmOpen.Top=100
33、0:frmOpen.Left=1200 Visual Basic 语法规则5.注释:注释:可在程序中加入以可在程序中加入以单引号单引号开头的解释性的文字,单引号为开头的解释性的文字,单引号为“注释符注释符”,这些文字为注释内容。注释内容在程序执行时被忽略。,这些文字为注释内容。注释内容在程序执行时被忽略。注意:在续行符后不能写注释。如:注意:在续行符后不能写注释。如:这是这是1999年年3月月11日编写的日编写的txtMy.Text=“您好!您好!”在文本框中向用户问好在文本框中向用户问好也可以用也可以用Rem进行注释进行注释6.行号与标号行号与标号7.英文符号与中文符号英文符号与中文符号8.
34、程序行的缩进,与源程序的美观程序行的缩进,与源程序的美观Visual Basic 语法规则Visual Basic开发程序的主要步骤进入VB集成开发环境添加对象,编写代码保存打开源程序*.vbp、*.frm*.frx、*.bas文件解释性试运行编译可执行文件*.exe文件完成未完成或出错未完成或出错1 预备工作预备工作2 建立界面建立界面3 设置属性设置属性4 编写代码、进行调试编写代码、进行调试5 编译编译工程中的模块与文件 为编制一个应用程序而创建的所有源文件统称为一个为编制一个应用程序而创建的所有源文件统称为一个“工程工程”(Project)。)。一个工程有一个一个工程有一个工程文件工程
35、文件(vbp,vbw),另外还有多个模块文件。,另外还有多个模块文件。(1)窗体模块)窗体模块窗体模块包含窗体及其控件的定义、属性设置,以及代码窗口中的程序行。窗窗体模块包含窗体及其控件的定义、属性设置,以及代码窗口中的程序行。窗体文件的扩展名为体文件的扩展名为.frm,如果设置了对象的,如果设置了对象的Icon或或Picture属性,会生成同名属性,会生成同名的的.frx文件。文件。(2)标准模块)标准模块标准模块包含数据类型、常数、变量、外部过程和公共过程的公共的或模块级标准模块包含数据类型、常数、变量、外部过程和公共过程的公共的或模块级的定义。标准模块文件以的定义。标准模块文件以.bas
36、为文件扩展名。为文件扩展名。还可能用到其他类型的模块。还可能用到其他类型的模块。(1)保存工程时先提示保存各模块文件,最后提示保存工程文件。)保存工程时先提示保存各模块文件,最后提示保存工程文件。(2)打开工程时,直接打开工程文件即可。)打开工程时,直接打开工程文件即可。(3)应该将一个工程中的所有文件保存在同一个文件夹中,便于)应该将一个工程中的所有文件保存在同一个文件夹中,便于管理。管理。(4)不能在)不能在VB集成环境之外移动工程中的模块文件或对其进行集成环境之外移动工程中的模块文件或对其进行重命名。这样会导致工程无法打开。重命名。这样会导致工程无法打开。保存和打开工程生成可执行文件(1)通过)通过“文件文件”菜单中的菜单中的“生成生成”命令可执行文件命令可执行文件.exe。可指定可执行。可指定可执行文件名和保存位置。文件名和保存位置。(2)可执行文件可脱离源程序与)可执行文件可脱离源程序与VB环境单独运行。环境单独运行。(3)可执行文件需要一些中间文件)可执行文件需要一些中间文件的支持才能运行。的支持才能运行。