VB程序设计第4章-使用常用控件课件_第1页
VB程序设计第4章-使用常用控件课件_第2页
VB程序设计第4章-使用常用控件课件_第3页
VB程序设计第4章-使用常用控件课件_第4页
VB程序设计第4章-使用常用控件课件_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB程序设计主编:沈祥玖高等教育出版社第4章使用常用控件2022/12/17VB程序设计主编:沈祥玖高等教育出版社第4章使用常用控第4章常用控件与窗体学习目标:(1)掌握表4-1中控件的常用属性、方法、事件。(2)能在程序中灵活、正确的运用所掌握的控件。(3)了解多窗体的操作、语句、方法,能够制作多窗体程序。2022/12/17第4章常用控件与窗体学习目标:2022/12/16图4-1常用控件图片框(PictureBox):用于显示图形。可作为其他控件的容器,能显示Print方法的输出。图像框(ImageBox):用于显示图形。其显示速度快,占用内存少,可实现图形的缩放。定时器(Timer):每隔一定时间触发Timer事件执行相应代码,可制作动画或计时。单选钮(OptionButton):通常成组使用,主要用于处理“多选一”的问题。复选框(CheckBox):能表示选中或未选中二种状态。成组使用时,实现复选多项功能。列表框(ListBox):显示项目列表,用户可以选择其中的一项或多项。组合框(ComboBox):由文本框和列表框组合而成的控件,其有三种形式可供选择。框架控件(Frame):可以对其他控件分组,以便用户识别。常用于建立多个单选钮组。表4-1本章要掌握的常用控件第4章常用控件与窗体2022/12/17图4-1常用控件图片框(PictureBox):图像框(4.1图片框(PictureBox)

图片框(PictureBox)主要用于在窗体的指定位置显示图形,其还可以作为其他控件的容器、显示Print方法输出的文本或显示图形方法输出的图形。4.1.1属性(1)Picture属性用来指定显示的图形。图片框可显示JPG、BMP、WMF、GIF、ICO等格式的图形文件。Picture属性可以在属性窗口中设置,也可以在代码中设置。(a)属性窗口中设置在设计阶段,可以单击属性窗口中Picture属性行右则的按钮,在弹出的“加载图片”对话框中选择加载图形文件。(b)在代码中设置在代码中,可以用LoadPicture函数把图形文件装入图片框或图像框中。语句格式如下:对象名.Picture=LoadPicture([filename])说明:“对象名”:可以是要加载图形的图片框、图像框或窗体的名称“filename”:字符串表达式,指定一个被显示的图形的文件名,第4章常用控件与窗体2022/12/174.1图片框(PictureBox)

图片框(Pictu可以包括文件的盘符和路径。如果未指定文件名,执行语句后将清除对象中的图象。举例:实现装载图形的语句:Picture1.picture=LoadPicture("c:\windows\bubbles.bmp")实现清除图形的语句:Picture1.Picture=LoadPicture()上机练习时,可以先查找电脑中的图片,得到其路径和名称,再输入到代码中。查找图片的方法:在“资源管理器”或“我的电脑”中的C盘上单击右键,选择右键菜单中的“查找”命令,在弹出的“查找”对话框中名称项里输入“*.JPG”(或“*.BMP”、“*.WMF”等),按“开始查找”按钮即可。(2)AutoSize属性指定控件是否自动改变大小以显示图形全部内容。属性值为True或False。

False:保持控件大小不变,超出控件区域的图形内容不被显示。此值为缺省值。

True:自动改变控件大小以显示图形全部内容。4.1图片框(PictureBox)

第4章常用控件与窗体2022/12/17可以包括文件的盘符和路径。如果未指定文件名,执行语句后将清除4.1.2应用举例

【例4.1】设计程序,演示图片框在AutoSize属性不同选值时的状态和用Picture属性加载、清除图形的功能。分析:为做演示,图片框必不可少,还要建立四个按钮,二个用来设置图片框AutoSize属性值为True或False,另外二个实现加载、清除图形。(如图4-2所示)4.1图片框(PictureBox)

(a)犹抱琵琶半遮面状态(b)露出庐山真面目状态(c)清除状态图4-2例4.1程序运行界面第4章常用控件与窗体2022/12/174.1.2应用举例

4.1图片框(PictureBo4.1图片框(PictureBox)

(1)界面设计在窗体上添加二个图片框、四个命令按钮。控件的大小、位置和命令按钮的Caption属性可参考图4-2。(2)编写代码依次双击窗体和各命令按钮,输入代码如下。PrivateSubForm_Load() '在启动程序时,设置图片框属性并加载图形。

Command2_Click '调用过程Command2_Click,如同输入了Command2_Click事件过程中的四条语句。

Command4_Click '功能同上。关于过程的调用,会在第8章中讲解。EndSubPrivateSubCommand1_Click() '“露出庐山真面目”按钮事件过程

Picture1.AutoSize=True '自动改变图片框大小以显示图形全部内容

Picture2.AutoSize=TrueEndSubPrivateSubCommand2_Click() '“犹抱琵琶半遮面”按钮事件过程

Picture1.AutoSize=False '当图片框比图形小时,图形超出部分不被显示

Picture2.AutoSize=FalsePicture1.Height=280 '减少图片框高度为280,使图片框小于图形

Picture2.Height=280EndSubPrivateSubCommand3_Click() '“清除”按钮事件过程

Picture1.Picture=LoadPicture("")Picture2.Picture=LoadPicture("")第4章常用控件与窗体2022/12/174.1图片框(PictureBox)

(1)界面设计第4.1图片框(PictureBox)

EndSubPrivateSubCommand4_Click() '“加载”按钮事件过程

Picture1.Picture=LoadPicture("C:\VB\Face02.ico")'确保C盘的VB文件夹下有图形文件Face02.ico,也可使用其他图形文件

Picture2.Picture=LoadPicture("C:\VB\Face04.ico")EndSub

编程所用的Face02.ico等图标文件,可在C盘中查找“*.ICO”获得,一般能在VB资源文件夹“\Common\Graphics\Icons\Misc”下找到。按F5键运行程序,界面如图4-2所示。单击“露出庐山真面目”按钮,图形会完全显示;点击“犹抱琵琶半遮面”按钮,图片框缩小,图形中的超出部分不被显示;按“清除”按钮,图形被删除;使用“加载”按钮,图形重新显示。运行无误后,请保存工程,以备后用。第4章常用控件与窗体2022/12/174.1图片框(PictureBox)

EndSub4.2图像框(ImageBox)

图像框(ImageBox)只能用于显示图形,没有图片框所拥有的其他功能;因此,图像框比图片框显示速度快、占用内存少。4.2.1属性(1)Picture属性和图片框的Picture属性相同。(2)stretch属性指定是否缩放图形来适应控件大小。属性值为True或False。False:缩放控件来适应图形的大小。此值为缺省值。True:缩放图形来适应控件的大小。此值可能会使显示的图形变形失真。第4章常用控件与窗体2022/12/174.2图像框(ImageBox)

图像框(Im4.2图像框(ImageBox)

4.2.1属性(1)Picture属性和图片框的Picture属性相同。(2)stretch属性指定是否缩放图形来适应控件大小。属性值为True或False。False:缩放控件来适应图形的大小。此值为缺省值。True:缩放图形来适应控件的大小。此值可能会使显示的图形变形失真。(a)stretch值为False时(b)值为True并放大时(c)值为True并缩小时图4-3例4.2stretch属性演示第4章常用控件与窗体2022/12/174.2图像框(ImageBox)

4.2.1属性(4.2图像框(ImageBox)

(1)界面设计在窗体上添加一个图像框、四个命令按钮。控件的大小、位置和命令按钮的Caption属性可参考图4-3。(2)编写代码依次双击窗体和各命令按钮,输入代码如下。PrivateSubForm_Load()Image1.Picture=LoadPicture("C:\VB\Face03.ico")EndSub '在程序启动时,为图像框装载图标“Face03.ico”PrivateSubCommand1_Click() '“True”按钮事件过程

Image1.Stretch=TrueEndSubPrivateSubCommand2_Click() '“False”按钮事件过程

Image1.Stretch=FalseEndSubPrivateSubCommand3_Click() '“放大”按钮事件过程

Image1.Width=Image1.Width*2Image1.Height=Image1.Height*2EndSub '把Image1的宽度和高度值乘2再赋给其Width、Height属性PrivateSubCommand4_Click() '“缩小”按钮事件过程

Image1.Width=Image1.Width/2Image1.Height=Image1.Height/2EndSub '把Image1的宽度和高度值的一半赋给其Width、Height属性第4章常用控件与窗体2022/12/174.2图像框(ImageBox)

(1)界面设计第4.2图像框(ImageBox)

按F5键运行程序,程序界面如图4-3(a)所示,此时单击“放大”按钮,虽然图像框已经扩大一倍(其不可见),但是因其Stretch值默认为False,所以图形并不随图像框的扩大而扩大。随后点击“True”按钮,将Stretch值更改为True,这时图形会为适应图像框的大小而放大,如图4-3(b)所示。正如图4-3(c)所示,按“缩小”按钮,图形会随图像框的缩小而变小。不论图形及图像框是在扩大还是已缩小,只要单击“False”按钮,都会使图像框缩放到图形原始大小的尺寸,来适应图形的正常显示,如图4-3(a)。运行无误后,请保存工程,以备后用。4.2.3图像框与图片框的区别虽然图像框与图片框的用法基本相同,但也有不少区别:(1)图像框比图片框占用的内存少,显示图形的速度快。(2)图像框可以实现图形的缩放。(3)图像框不能同图片框一样通过Print方法显示文本或使用显示图形方法输出图形。(4)图像框不能像图片框一样来作为其他控件的容器。此差别说明如下:第4章常用控件与窗体2022/12/174.2图像框(ImageBox)

按F54.2图像框(ImageBox)

例如在图像框中画一个命令按钮,图像框并不能作为此命令按钮的容器,他们是彼此独立的,二者之间没有固定的联系。图像框中的命令按钮不从属于图像框,不是图像框的组成部分,当移动图像框时命令按钮仍在原位置,不随之移动。如果单独移动命令按钮,可以把他移动到图像框之外。如果在图片框内画一个命令按钮,图片框会成为这个按钮的容器。此时移动图片框,则命令按钮随之一起移动(命令按钮成为图片框的一个组成部分)。如果单独移动命令按钮,只能在图片框范围内移动,不能把他移动到图片框之外。第4章常用控件与窗体2022/12/174.2图像框(ImageBox)

例如在4.3定时器(Timer)

定时器(Timer)可以实现每隔一定的时间间隔就触发一次Timer事件,从而执行相应的代码。利用定时器,可以制作动画、定期执行某个特定操作或实现计时。

Timer控件有时被译为计时器或时钟。正如某些自鸣钟可以每隔一小时就触发“整点报时”事件一样,定时器也能每隔一定时间就触发一个事件;而且他还可以用Interval属性来设置间隔时间的长短,在Timer事件里编写不同代码用来实现不同功能。第4章常用控件与窗体2022/12/174.3定时器(Timer)

定时器(Time4.3定时器(Timer)

4.3.1属性与事件(1)Interval属性作用:设置触发定时器Timer事件的间隔时间。范围:0~65,535毫秒(1毫秒=0.001秒)说明:缺省值为0,即定时器控件不起作用;最大值为65,535,即65秒多。如果希望每秒触发n个Timer事件,则应设置属性Interval的值为1000/n。但不要奢望设置为1时,会每秒产生1000个事件。由于大多数个人计算机系统硬件的限制,定时器每秒钟最多可产生的Timer事件在18个左右;也就是说,实际最小间隔时间大约在56毫秒上下。所以,若将Interval属性值设为比56小的数,可能不会产生预期效果。(2)Timer事件在由Interval属性设定的时间间隔过去之后触发,执行相应代码。运行时,定时器不可见,所以他没有Click等事件,Timer事件是定时器唯一的事件。Timer事件的触发,有二个前提:一是Timer控件的Enabled属性被设置为True,二是Interval属性大于0。第4章常用控件与窗体2022/12/174.3定时器(Timer)

4.3.1属性与事件4.3定时器(Timer)

4.3.2应用举例【例4.3】设计程序,演示定时器的动画、计时功能。分析:动画功能,可以设置定时器控件Interval属性为较小值,以及在Timer事件中使图像框在不同时段加载不同图形来实现。而要在同一事件过程中判断加载不同图形,需要第五章中if语句的相关知识,但我们可以殊途同归的用二个定时器来实现。在第三个计时器的事件中用Time函数获取系统时间,再显示在标签控件中,可实现计时。(如图4-4所示)(a)设计状态(b)动画图一(c)动画图二图4-4例4.3程序界面第4章常用控件与窗体2022/12/174.3定时器(Timer)

4.3.2应用举例(4.3定时器(Timer)

(1)界面设计在窗体上添加三个图像框(Image2、Image1、Image3)、三个定时器、一个标签,大小及位置可参考图4-4。(2)编写代码依次双击窗体和三个定时器控件,输入代码如下。PrivateSubForm_Load() '程序启动时,装载图形,设置Interval属性值

Image2.Picture=LoadPicture("C:\VB\Face02.ico")Image3.Picture=LoadPicture("C:\VB\Face03.ico")Image1.Picture=Image2.Picture'使Image1拥有同Image2一样的图形

Timer1.Interval=500 '设置Timer1每隔0.5秒触发一个Timer事件

Timer3.Interval=100 '设置Timer3每隔0.1秒触发一个Timer事件EndSubPrivateSubTimer1_Timer()Image1.Picture=Image3.Picture '使Image1显示Image3中的图形

Timer1.Interval=0 '使Timer1不起作用

Timer2.Interval=500 '设置Timer2每隔0.5秒触发一个Timer事件EndSubPrivateSubTimer2_Timer()Image1.Picture=Image2.Picture '使Image1显示Image2中的图形

Timer2.Interval=0 '使Timer2不起作用

Timer1.Interval=500 '设置Timer1每隔0.5秒触发一个Timer事件EndSubPrivateSubTimer3_Timer() 'Timer3的Timer事件,每隔0.1秒执行一次

Label1.Caption=Time '将Time函数返回的系统时间显示在标签中EndSub第4章常用控件与窗体2022/12/174.3定时器(Timer)

(1)界面设计依次双击窗4.3定时器(Timer)

按F5运行程序,程序界面如图4-4(a)、(b)所示。在电脑中可以看到,大约每隔半秒,中间的(Image1)图形就在“闭嘴微笑”和“开口大笑”之间进行转换,并由于视觉的残留现象而形成动画。电影就是以24格/秒(以前是16格/秒)的速度播放相近的图形而给我们“动”的感觉。在实现动画的同时,程序会按“时:分:秒”的格式显示当前系统时间。想一想:(a)系统时间按秒变化,Timer3的Interval属性为什么设置为100而不是1000呢?假设将Interval属性设为1000(1秒)。此时,虽然显示精确到秒的系统时间,但程序的显示并不精确。比如Timer3的一个Timer事件刚刚过去,而系统时间中新的一秒紧跟着到来,程序却要间隔1秒后才会获得并显示这一秒的时间,那么会有n秒(n<1)的误差产生。因此,Interval属性值越小,误差也会越小,显示的系统时间越准确。第4章常用控件与窗体2022/12/174.3定时器(Timer)

按F5运行程序,程序界面4.3定时器(Timer)

按F5运行程序,程序界面如图4-4(a)、(b)所示。在电脑中可以看到,大约每隔半秒,中间的(Image1)图形就在“闭嘴微笑”和“开口大笑”之间进行转换,并由于视觉的残留现象而形成动画。电影就是以24格/秒(以前是16格/秒)的速度播放相近的图形而给我们“动”的感觉。在实现动画的同时,程序会按“时:分:秒”的格式显示当前系统时间。想一想:(a)系统时间按秒变化,Timer3的Interval属性为什么设置为100而不是1000呢?假设将Interval属性设为1000(1秒)。此时,虽然显示精确到秒的系统时间,但程序的显示并不精确。比如Timer3的一个Timer事件刚刚过去,而系统时间中新的一秒紧跟着到来,程序却要间隔1秒后才会获得并显示这一秒的时间,那么会有n秒(n<1)的误差产生。因此,Interval属性值越小,误差也会越小,显示的系统时间越准确。第4章常用控件与窗体2022/12/174.3定时器(Timer)

按F5运行程序,4.3定时器(Timer)

(b)程序运行后,Timer1和Timer2各自的Timer事件实际每隔多长时间触发一次?我们一起来设想程序的执行。程序启动时,执行窗体的Load事件过程,其中一条语句使Timer1的Interval属性值由0变成500。在0.5秒后,Timer1的Timer事件第一次被触发,事件过程中第二条语句把Timer1本身的Interval属性值再由500设回0,第三句让Timer2的Timer事件于0.5秒后产生。在程序运行了1秒钟时,Timer2的Timer事件过程首次执行,他会关闭Timer2自身并点燃Timer1在0.5秒后执行事件的引线。程序启动后的第1.5秒,即时隔1秒钟以后,Timer1的Timer事件被再次激发……从上面的设想中不难看出,除第一次外,Timer1和Timer2各自的Timer事件大约每隔1秒触发一次。(由于是二个定时器互动以及电脑系统硬件的关系,间隔时间会有微小误差。)第4章常用控件与窗体2022/12/174.3定时器(Timer)

(b)程序运行后,4.4单选钮(OptionButton)

单选钮(OptionButton)通常成组使用,主要用于处理“多选一”的问题。用户在一组单选钮中最多只能选择一项。选定组中某项单选钮时,其左边圆圈中会出现黑点,表明处于选定状态;而本组内的其他单选钮则被强制处于非选定状态(左边圆圈中无黑点)。4.4.1属性与事件(1)Value属性表示、设置单选按钮是否处于选定的状态。属性值为True或False。False:处于非选定状态,左边圆圈中没有黑点。此值为缺省值。True: 处于已选定状态,左边圆圈中显示黑点。(2)Caption属性显示出现在单选钮旁边的文本。(3)Style属性设置单选钮的显示方式。属性值为0或1。0为缺省值。0–Standard: 标准方式。用文本旁边圆圈中是否有黑点来表示选定状态。1–Graphical: 图形方式。外观类似命令按钮,用按钮是否按下表示选定的状态。第4章常用控件与窗体2022/12/174.4单选钮(OptionButton)单4.4单选钮(OptionButton)

图4-5中有二个框架,每个框架中,都有一个单选钮;每个单选钮组都由二单选钮组成。左侧框架的单选钮组中,二个单选钮的Style属性为0,Value值如控件的标签文本所示。

右侧框架的单选钮组中,二个单选钮的Style属性为1;处于按下(凹陷)状态的单选钮,其Value值为True,处于弹出(凸起)状态的单选钮,其Value值为False。图4-5单选钮属性演示第4章常用控件与窗体2022/12/174.4单选钮(OptionButton)4.4单选钮(OptionButton)

(4)Click事件单选钮常用事件是Click事件。4.4.2应用举例

【例4.4】编写“简单记事本”程序,实现功能:可以输入文本并能更改字体大小。分析:输入文本,可用文本框实现;更改字体大小,用单选钮可以做到。(如图4-6所示)(a)启动界面(b)10号字体(c)12号字体图4-6“简单记事本”运行界面第4章常用控件与窗体2022/12/174.4单选钮(OptionButton)(44.4单选钮(OptionButton)

(1)界面设计在窗体上添加一个标签、一个文本框、二个单选钮,大小位置及Caption属性见图4-6。设置文本框的MultiLine属性为True,使其可以输入多行文本。(2)编写代码双击窗体,在窗体的Load事件中输入代码如下:PrivateSubForm_Load() '窗体启动时的初始设置。

Option1.Value=True '使标签为“10号”的单选钮1处于选定状态。

Text1.FontSize=10 '文本大小为10号。EndSub

单击代码窗口上方右侧的事件列表框,在下拉列表中选择“Resize”项,并输入代码:PrivateSubForm_Resize() '当窗体大小改变时触发的事件。

Text1.Height=Form1.Height-Text1.Top'文本框的高度=窗体的高度-文本框上边界到窗体顶端的距离。

Text1.Width=Form1.Width '文本框的宽度总是等于窗体的宽度。EndSub '本过程实现文本框随窗体的缩放而缩小扩大。分别双击二个单选钮,输入代码如下所示:PrivateSubOption1_Click()Text1.FontSize=10 '文本大小为10号。EndSubPrivateSubOption2_Click()Text1.FontSize=12 '文本大小为12号。EndSub第4章常用控件与窗体2022/12/174.4单选钮(OptionButton)(1)4.4单选钮(OptionButton)

程序编写好后,请保存工程,以备后用。(我们将在以后的章节中对其逐步完善。)按F5运行程序,启动界面如图4-6(a)所示,此时标题为“10号”的单选钮处于选中状态。在文本框中可以输入多行文本,文本字体大小为默认的10号字,如图4-6(b)所示。单击标题为“12号”的单选钮,文本字号变为12号,见图4-6(c)。 在程序运行时,可以用以下方法选中一个单选钮:间用鼠标单击单选钮。用Tab键定位到单选钮组,然后用方向键定位单选钮。但是不论我们如何选择,在一个单选钮组中,只能有一个单选钮处于选中状态,并且他会保持其选中状态一直到本组中其他单选钮被选中。第4章常用控件与窗体2022/12/174.4单选钮(OptionButton)程4.5复选框(CheckBox)

复选框(CheckBox)也称为检查框。在单个使用时,可以表示选中或未选中二种状态;在成组出现时,能够实现复选多项的功能。4.5.1属性与事件(1)Value属性决定复选框的状态,此属性有三个可选值:0、1、2。0-未选中:处于未选中状态,左边方框中不显示“√”号。此值为缺省值。1-已选中:处于已选中状态,左边方框中会显示“√”号。2-变灰暗:复选框变成灰色,表示禁止用户选择。前二种状态,可以在程序运行时,通过鼠标单击或用Tab键定位后按空格键来转变。例如,程序运行后,首次单击复选框,其方框内出现"√"号,Value属性值变为1(True);再次单击此复选框,则会清除方框中的"√",并使Value属性值变为0(False)。第三种状态,可以在属性窗口里或代码中设置。第4章常用控件与窗体2022/12/174.5复选框(CheckBox)

复4.5复选框(CheckBox)

(2)Style属性设置复选框的显示方式。属性值为0或1。0为缺省值。0–Standard: 标准方式。用文本旁边方框中是否有“√”号来表示选定状态。1–Graphical: 图形方式。外观类似命令按钮,用按钮是否按下表示选定的状态。当Style属性值为1时,可以在Picture、DownPicture、DisabledPicture三个属性中分别设置图形,用不同的图形来表示Value属性三种状态(未选中、已选中、禁止选择)。(3)事件复选框常用事件为Click事件。第4章常用控件与窗体2022/12/174.5复选框(CheckBox)

(2)4.5复选框(CheckBox)

【例4.5】完善“简单记事本”程序,增加功能:可以选择字体样式。分析:常用的字体样式有加粗和倾斜。对于文本,可以只设置一种样式,也可以同时应用二种或多种样式。所以,用复选框来实现对字体样式的选择是比较恰当的。(如图4-7所示)(a)无字体样式(b)加粗(c)加粗并倾斜图4-7用复选框选择字体样式第4章常用控件与窗体2022/12/174.5复选框(CheckBox)

【例4.4.5复选框(CheckBox)

(1)界面设计打开上节保存的“简单记事本”工程文件,在窗体上增加二个复选框。文本框的新位置和复选框的大小、位置及Caption属性见图4-7。(2)编写代码分别双击二个复选框,输入代码如下:PrivateSubCheck1_Click() '单击复选框时,会在选中和非选中间进行切换。

Text1.FontBold=Check1.Value EndSub '文本框的FontBold为True时,样式为粗体;为False时,取消粗体。PrivateSubCheck2_Click()Text1.FontItalic=Check2.ValueEndSub '文本框的FontItalic为True时,样式为倾斜;为False时,取消倾斜。

按F5运行程序,在程序中输入任意文本。单击“加粗”复选框,文本应用加粗样式,如图4-7(b)所示。单击“倾斜”按钮,文本样式为即加粗又倾斜,如图4-7(c)。运行无误后,请保存工程,以备后用。第4章常用控件与窗体2022/12/174.5复选框(CheckBox)

(1)界面设计第4.5复选框(CheckBox)

4.5.3复选框与单选钮的区别最主要的区别:在一组复选框中,可以实现多选;而单选钮组中,只能多选一。在一组复选框中,每个复选框都是独立的、互不影响的,可以任意选择它们的状态组合,能够全选、全不选或同时使若干个复选框处于选中状态。在单选钮组中,单选钮间是相互排斥的,选中其中一个就会清除该组中其他按钮的选定状态;所以在选择时,最多且必须选一项,不会出现全选、全不选或多选的状态。第4章常用控件与窗体2022/12/174.5复选框(CheckBox)

4.5.3复4.6列表框(ListBox)

列表框(ListBox)显示项目列表,用户可以选择其中的一项或多项。如果项目总数超过了可显示的项目数,列表框会自动增加滚动条。4.6.1属性(1)List属性用来存放列表框的项目。该属性是一个字符串数组,数组的下标从0开始,即List(0)保存表中的第一项内容,List(1)保存第二项内容;依次类推,List(ListCount-1)保存表中的最后一项内容。对于List属性,可以在属性窗口中或代码中设置:(a)在属性窗口中设置:选择属性窗口中的List属性,单击右方的下拉按钮,在弹出的下拉框中输入首项内容;按下Ctrl+Enter键换行,输入第二项内容;输入最后一项后,按下Enter键表示输入结束。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

列表4.6列表框(ListBox)

如图4-8(a)所示,在输入“第一项:List(0)”后,按Ctrl+Enter键输入“第二项:List(1)”,在输入“第五项:List(4)”后按Enter键结束输入。程序运行后的列表框如图4-8(b)所示。(a)在属性窗口中设置(b)运行后的显示图4-8列表框属性演示第4章常用控件与窗体2022/12/174.6列表框(ListBox)

如图4-4.6列表框(ListBox)

(b)在代码中设置:在代码中设置List属性的语句格式为:列表框.]List(下标)=字符串例如,图4-8(b)中列表框的显示,也可以用以下语句实现:PrivateSubForm_Load()List1.List(0)="第一项:List(0)"List1.List(1)="第二项:List(1)"List1.List(2)="第三项:List(2)"List1.List(3)="第四项:List(3)"List1.List(4)="第五项:List(4)"EndSub

(2)ListCount属性记录列表框中的项目总数。例如图4-8中列表框的ListCount属性为5。该属性只能在程序中引用它。常用ListCount-1表示最后一项的序号。(3)Text属性用于存放被选中列表项的文本内容。在图4-8(b)中,如选中第二项,则此项会反白显示,同时Text属性值变为“第二项:List(1)”。该属性是只读属性,不能在属性窗口中及代码中设置,只能在代码中引用Text属性值,来获取当前选定列表项的内容。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

(b)在代码中4.6列表框(ListBox)

(4)ListIndex属性表示运行时被选中项目的序号(下标值)。如果列表框中没有任何一项被选中,则ListIndex为-1。假设选择了多个列表项,则ListIndex只存储最后一个所选项目的序号。程序运行时,可以使用ListIndex属性判断列表框中哪一项被选中。例如,在图4-8(b)状态中,ListIndex属性值为-1;单击第二项,ListIndex属性值变为1;再点击第三项,ListIndex属性值变为2。ListIndex属性不能在设计时设置,只有程序运行时才起作用。(5)Selected属性该属性是一个逻辑数组,其元素对应列表框中相应的项,表示对应的项在程序运行期间是否被选中。例如,图4-8(b)状态中,第一项未被选中,Selected(0)的值为False;如若选中第一项,,Selected(0)的值会变为True。此属性不能在属性窗口中设置,只能在代码中引用或赋值。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

(4)L4.6列表框(ListBox)

(6)MultiSelect属性设置是否能在列表框中进行复选以及如何进行复选。此属性有三个可选值:0、1、2。0–None:禁止多项选择,只能选择一项。如同一组单选钮一样。此值为缺省值。1–Simple:简单复选,可以同时选择多个项目。单击鼠标或按空格键使项目在选中和非选中状态间切换,类似对一组复选框的操作。2–Extended:扩展复选,能够用更多的方式方便的选择项目。以下为详细说明:只用鼠标点选时,只能选择一项,如同“0–None”。按住CTRL键,可以实现简单复选不连续项,类似“1–Simple”。按住SHIFT键,配合鼠标或方向键,能够进行连续项目的快速选择。按住左键并拖动鼠标,可以对项目进行圈选。选择“2–Extended”后,列表框的选择方式,同在资源管理器中选择文件如出一辙。(7)SelCount属性记录列表框中所选项目的总数。如果没有项被选中,那么SelCount属性将返回0值;否则,他将返回当前被选中的列表项的数量。此属性只有在MultiSelect属性值设置为“1–Simple”或“2–Extended”时起作用,通常与Selected数组一起使用,以处理控件中的所选项目。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

(6)Mul4.6列表框(ListBox)

4.6.2方法列表框常用的方法有:AddItem、RemoveItem和Clear。(1)AddItem方法功能:把一个项目加入列表框。格式:Listname.AddItemitem[,index]说明:

Listname:列表框的名称

item: 字符串表达式,内容为要加到列表框的项目。

index: 索引号,即新增加的项目在列表框中的位置。index为0时,添加到第一个位置;index为1时,加到第二个位置;依次类推。如果省略index,新增加的项目将添加到列表框的末尾。举例:List1.AddItem(“第六项:List(5)”) ‘在列表框末尾增加项目“第六项:List(5)”。(2)RemoveItem方法功能:删除列表框中的项目。格式:Listname.RemoveItemindex说明:这里的index参数是必选项,他表示要删除项目的序号。举例:List1.RemoveItem0 '删除列表框中的第一项。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

4.6.2方法4.6列表框(ListBox)

(3)Clear方法功能:删除列表框控件中的所有项目。格式:Listname.Clear4.6.3应用举例【例4.6】修改“简单记事本”程序,要求通过列表来选择字号,并能添加、删除字号。分析:可以使用列表框来显示字号列表。单击列表中的字号时,通过把列表框的Text属性值赋值给文本框的FontSize属性,从而实现选择字号功能。建立三个按钮,分别使用列表框的AddItem、RemoveItem和Clear方法来实现字号的添加、删除和清空。(如图4-9所示)(a)运行后输入内容(b)选择字号(c)添加、删除字号图4-9用列表框选择、添加、删除字号第4章常用控件与窗体2022/12/174.6列表框(ListBox)

(3)Clear方法4.6列表框(ListBox)

(1)界面设计打开上节保存的“简单记事本”工程,为突出重点,删除单选钮、复选框以及相应代码。建立一个列表框、一个标签控件、三个命令按钮,设置标签控件、命令按钮的Caption属性以及列表框的List属性如图4-9(a)所示。调整原有文本框的大小及位置,并保持其Text属性为空值。(图中诗句是运行后输入的)(2)编写代码依次双击列表框和三个命令按钮,输入代码如下:PrivateSubList1_Click() '单击列表框

Text1.FontSize=List1.Text '使文本框中字体大小为列表框中所选字号EndSubPrivateSubCommand1_Click() '单击“添加”按钮

DimsAsStrings=InputBox("请输入要添加的字号","添加字号")List1.AddItems '把用户在输入框中输入的字号添加到列表框中EndSubPrivateSubCommand2_Click() '单击“删除”按钮

List1.RemoveItemList1.ListIndex '删除列表框中所选项目EndSubPrivateSubCommand3_Click() '单击“清空”按钮

List1.Clear '清空列表框中的所有项目EndSub第4章常用控件与窗体2022/12/174.6列表框(ListBox)

(1)界面设计第44.6列表框(ListBox)

输入完成后,按F5键运行程序。在文本框中输入任意文本,单击列表框中的项目,可以设置相应的字号;例如单击“12”,则文本字体大小更改为12号。单击“添加”按钮,在弹出的输入框中输入字号,按“确定”按钮后,列表框将增加所输入的字号。选择某一字号,单击“删除”按钮,会删除所选字号。单击“清空”按钮,则清除所有字号。请保存此工程。第4章常用控件与窗体2022/12/174.6列表框(ListBox)

输入完成后4.7组合框(ComboBox)

图4-10组合框的三种形式

组合框(ComboBox)是由文本框和列表框组合而成的控件。组合框有三种形式:下拉式组合框、简单组合框和下拉式列表框。(如图4-10所示)三种形式都能在列表中选择项目,所选项目会显示在文本框中。“下拉式组合框”和“简单组合框”还可以通过在文本框中输入文本来进行选择。“下拉式组合框”和“下拉式列表框”均具有能“下拉”和“收起”的列表,可节省空间。通过Style属性可选择所需的形式。第4章常用控件与窗体2022/12/174.7组合框(ComboBox)

图4-10组4.7组合框(ComboBox)

4.7.1属性与方法(1)Style属性决定组合框的类型和行为,可选值为0、1、2,默认值为0。(a)0–DropdownCombo(下拉式组合框):正常状态仅显示文本框和下拉按钮;当单击下拉按钮时,会显示列表框供用户选择;再次单击下拉按钮,列表框隐藏,恢复正常状态。用户可以通过列表框选择项目,也可以在文本框中输入项目文本来进行选择,所选项目会显示在文本框中。此形式允许用户键入列表框中没有的选项。(b)1–SimpleCombo(简单组合框):文本框与列表框一起显示,文本框右侧无下拉按钮,列表框固定显示,不能被“拉下”和“收起”。对项目的选择与下拉式组合框相同。在设计时,应适当调整组合框的大小,否则执行时有些列表项可能不被显示。当选项数超过可显示的限度时将自动插入一个垂直滚动条。(c)2-DropdownListBox(下拉式列表框):外观同下拉式组合框一样,有下拉按钮以及可供“拉下”和“收起”列表框。与下拉式组合框的有所不同的是,用户不能在列表框中输入选项,而只能在列表中选择。第4章常用控件与窗体2022/12/174.7组合框(ComboBox)

4.7.1属性与方4.7组合框(ComboBox)

(2)其他属性与方法组合框的大部分属性和方法与列表框相同,比如要访问控件的项目,可以用List数组;控件的当前选项由控件的Text属性确定;AddItem方法将项目加人到组合框的项目列表中;RemoveItem方法将组合框中选定的项目删除;Sorted属性决定组合框中的项目是否排序等。4.7.2应用举例【例4.7】修改“简单记事本”程序,要求使用组合框来实现选择、添加、删除字号。分析:实现此要求,用组合框替换例4.6程序中的列表框即可。新项目可以在组合框中的文本框里输入,因此,只需用AddItem方法把组合框的Text属性值加入到列表中,即可实现“添加”功能。(如图4-11所示)(a)运行后输入内容(b)选择字号(c)添加、删除字号图4-11用组合框选择、添加、删除字号第4章常用控件与窗体2022/12/174.7组合框(ComboBox)

(2)其他属性与方法(4.7组合框(ComboBox)

(1)界面设计打开上节保存的“简单记事本”工程,删除原有的列表框和相应代码,新建一个组合框。设置组合框的List属性首项为“10”,第二项为“12”;设置Text属性值为“10”。(2)编写代码依次双击组合框和三个命令按钮,输入、修改代码如下:PrivateSubCombo1_Click() '单击组合框中列表项时触发

Text1.FontSize=Combo1.Text '使文本字体大小为列表框中所选字号EndSubPrivateSubCommand1_Click() '单击"添加"按钮

Combo1.AddItemCombo1.Text '把用户在组合框中输入的字号添加到列表中EndSubPrivateSubCommand2_Click() '单击"删除"按钮

Combo1.RemoveItemCombo1.ListIndex '删除组合框中所选项目EndSubPrivateSubCommand3_Click() '单击"清空"按钮

Combo1.Clear '清空组合框中的所有项目EndSub第4章常用控件与窗体2022/12/174.7组合框(ComboBox)

(1)界面设计第4.7组合框(ComboBox)

输入完成后,按F5键运行程序。在文本框中输入任意文本,单击组合框中的下拉按钮,点选列表项,可以设置相应的字号。在组合框中输入字号,单击“添加”按钮,列表中将增加所输入的字号。选择某一字号,单击“删除”按钮,会删除所选字号。单击“清空”按钮,则清除所有字号。运行无误后,请保存工程,以备后用。4.7.3列表框与组合框的区别(1)选择方式不同列表框将一系列的选项组合成一个列表,用户可以选择其中的一个或几个选项,但不能向列表清单中输入项目;组合框是综合文本框和列表框特性而形成的一种控件,用户可以从列表中选定项目,也能通过在组合框中输入文本来选定项目。(2)形式不同列表框只有一种形式,只能在固定的区域内显示项目列表;而组合框有三种不同的形式可供选择,其中的“下拉式组合框”和“下拉式列表框”只显示文本框和下拉按钮,通过对下拉按钮的单击可对列表进行显示和隐藏。(3)Text属性的不同列表框的Text属性值只能通过选择列表中的项目来获取;而组合框的Text属性值不仅来自所选项目,还可以来自用户在组合框中输入的文本。因而,在使用AddItem方法添加项目时,组合框可以利用自身的Text属性来获得用户输入的文本;而列表框只能借助于InputBox函数或文本框控件来得到项目文本。第4章常用控件与窗体2022/12/174.7组合框(ComboBox)

输入完成后,按4.8框架(Frame)

框架控件(Frame)可以用来对其他控件进行分组,以便于用户识别。使用框架控件可以将一个窗体中的各种功能进一步进行分类,例如,用框架将多组单选钮分隔开。框架和窗体、图片框一样都是容器。所谓容器,就是可以在其上放置其它控件对象的一种对象。容器内所有控件成为一个组合,随容器一起移动、显示、消失和屏蔽。借助框架的“容器”功能,可以在一个窗体中建立多个相互独立的单选钮组。在一个容器中的多个单选钮形成一个单选钮组,在此容器中,只能有一个单选钮处于选中状态,并且会保持其选中状态一直到容器中其他单选钮被选中。因此,可以在窗体上建立多个框架,在每个框架中建立单选钮,从而形成多个单选钮组,对一组单选钮的操作不会影响其它组的单选钮。(应用实例可参考图4-12)在窗体上创建框架及其内部控件时,应先添加框架控件,然后单击工具箱上的控件,用“+”指针在框架中以拖拽的方式添加控件。不能用双击的方式向框架中添加控件,也不能先画出控件再添加框架。如果要用框架将窗体上现有的控件进行分组,则应该先选定控件,使用剪切命令(或按快捷键Ctrl+X)进行剪切,然后选定框架,使用粘贴命令(或按快捷键Ctrl+V)将控件粘贴到框架中。第4章常用控件与窗体2022/12/174.8框架(Frame)

框架控件(F4.8框架(Frame)

框架控件(Frame)可以用来对其他控件进行分组,以便于用户识别。使用框架控件可以将一个窗体中的各种功能进一步进行分类,例如,用框架将多组单选钮分隔开。框架和窗体、图片框一样都是容器。所谓容器,就是可以在其上放置其它控件对象的一种对象。容器内所有控件成为一个组合,随容器一起移动、显示、消失和屏蔽。借助框架的“容器”功能,可以在一个窗体中建立多个相互独立的单选钮组。在一个容器中的多个单选钮形成一个单选钮组,在此容器中,只能有一个单选钮处于选中状态,并且会保持其选中状态一直到容器中其他单选钮被选中。因此,可以在窗体上建立多个框架,在每个框架中建立单选钮,从而形成多个单选钮组,对一组单选钮的操作不会影响其它组的单选钮。(应用实例可参考图4-12)在窗体上创建框架及其内部控件时,应先添加框架控件,然后单击工具箱上的控件,用“+”指针在框架中以拖拽的方式添加控件。不能用双击的方式向框架中添加控件,也不能先画出控件再添加框架。如果要用框架将窗体上现有的控件进行分组,则应该先选定控件,使用剪切命令(或按快捷键Ctrl+X)进行剪切,然后选定框架,使用粘贴命令(或按快捷键Ctrl+V)将控件粘贴到框架中。第4章常用控件与窗体2022/12/174.8框架(Frame)

框架控件(F4.8框架(Frame)

4.8.1属性(1)Caption属性设置框架的标题,显示在框架的左上角,用于注明框架的用途。如果此值为空值,则框架显示为封闭的矩形框。(2)Enabled属性决定框架中的控件是否可用,可选值有True和False,默认值为True。True: 框架内控件可以响应用户的操作,框架标题颜色为ForeColor中的颜色。False:框架内的控件不响应用户的操作,框架标题颜色变为灰色。\4.8.2应用举例

【例4.8】修改“简单记事本”程序,要求能选择字号,可选择正常显示还是反白显示。分析:反白显示即黑底白字显示文本,正常显示是白底黑字,可以通过设置文本框的BackColor和ForeColor属性来实现。使用两个框架,建立两组互不干扰的单选钮组,可分别实现对字号和显示方式的选择。(如图4-12所示)第4章常用控件与窗体2022/12/174.8框架(Frame)

4.8.1属性第44.8框架(Frame)

(1)界面设计打开上节保存的“简单记事本”工程,删除原有的组合框和相应代码。新建二个框架。在每个框架中分别“画”出二个单选钮。二个框架和四个单选钮的大小、位置和Caption属性可参考图4-12。设置标题为“10号”和“正常”的单选钮的Value属性值为True,使他们处于选中状态。(a)运行后输入内容(b)选择字号(c)选择反白显示图4-12用组合框选择、添加、删除字号第4章常用控件与窗体2022/12/174.8框架(Frame)

(1)界面设计(a)运行后输4.8框架(Frame)

(2)编写代码依次双击四个单选钮,输入代码如下:PrivateSubOption1_Click() '单击“10号”单选钮

Text1.FontSize=10 '字体大小为10号。EndSubPrivateSubOption2_Click() '单击“12号”单选钮

Text1.FontSize=12 '字体大小为12号。EndSubPrivateSubOption3_Click() '单击“正常”单选钮

Text1.BackColor=vbWhite '白底

Text1.ForeColor=vbBlack '黑字EndSub ‘vbWhite及vbBlack是VB中的Color常数,分别代表白色和黑色。PrivateSubOption4_Click() '单击“反白”单选钮

Text1.BackColor=vbBlack '黑底

Text1.ForeColor=vbWhite '白字EndSub

输入完成后,按F5键运行程序。在文本框中输入任意文本,单击“12号”单选钮,文本字号变为12号;单击“反白”按钮,文本以黑底白字的形式显示。在设置时可以看到,两个框架中的单选钮互不干涉,对单选钮的点选只能影响到本框架内的另一单选钮。运行无误后,请保存工程,以备后用。第4章常用控件与窗体2022/12/174.8框架(Frame)

(2)编写代码第4章4.9多窗体(Multi-Form)

多窗体(Multi-Form)是指一个应用程序中有多个并列的普通窗体,每个窗体都可以有自己的界面和代码,完成不同的功能。在前面例题的程序中,都只使用了一个窗体。但在实际应用中,特别是对于较复杂的应用程序,单一窗体往往不能满足需要,所以常用多窗体来解决问题。即使在我们的上机实践中,也可以借助多窗体来实现在一个工程中编写、查看多个例题或练习。4.9.1操作(1)添加窗体通过“工程”菜单中的“添加窗体”命令可以在当前工程中添加窗体,步骤如下:(a)单击“工程”菜单中的“添加窗体”命令,打开“添加窗体”对话框。(b)“添加窗体”对话中框中有“新建”和“现存”两个选项卡,可实现不同的操作。在“新建”选项卡中:选择“窗体”项,单击“打开”按钮,可以建立一个新的窗体。在“现存”选项卡中:选择并双击现有的窗体文件,可以把此窗体添加到当前工程中。第4章常用控件与窗体2022/12/174.9多窗体(Multi-Form)

多窗4.9多窗体(Multi-Form)

(c)如操作无误,“工程资源管理器”窗口会显示已添加窗体的名称,添加操作完成。因为每一个窗体都是以后缀名为“.frm”的文件单独保存的,所以能够把已有的窗体添加到当前工程中,但是在添加时,有二个问题请注意:首先,要添加进来的窗体与工程中已有窗体的Name属性不能相同,否则添加不能成功;其次,添加进来的现存窗体可能属于另一工程或由多个工程共享,对此窗体的更改,会影响到共享该窗体的所有工程。(2)切换窗体在工程窗口(工程资源管理器窗口)中通过点击窗体名可实现切换窗体。有多个窗体的工程中,单击工程窗口中某个窗体的名称,会使此窗体成为当前窗体,属性窗口中会显示此窗体的属性,执行针对窗体的操作命令也会作用于此窗体;双击工程窗口中某个窗体的名称,在切换窗体的同时,还会激活此窗体的对象窗口,使之成为当前窗口。当前窗体的名称会在工程窗口中以蓝底或灰底显示。例如,在一个有三个窗体的工程中,单击名称为Form2的窗体,会使窗体Form2成为当前窗体,如图4-12所示。图中显示的Form1、Form2、Form3是三个窗体名称(即Name属性值),名称后面的L4_9.FRM、L4_1.FRM、L4_2.FRM是窗体文件的文件名。第4章常用控件与窗体2022/12/174.9多窗体(Multi-Form)

(c)如操作无误,4.9多窗体(Multi-Form)

图4-13工程窗口(3)删除窗体工程窗口中右键单击要删除窗体的名称,在右键菜单中选择“移除”,即可删除此窗体。(4)保存窗体首次保存多窗体工程时,VB会连续弹出多个保存对话框,提示为每个窗体起一个文件名,以便作为窗体文件单独保存,默认文件名为Form1.frm、Form2.frm到FormN.frm;最后后提示保存后缀为“.vbp”的工程文件。若要只保存某个窗体,在工程窗口中右键单击要保存窗体的名称,在弹出的右键菜单中选择“保存窗体”或“窗体另存为”即可。第4章常用控件与窗体2022/12/174.9多窗体(Multi-Form)

图4-13工程4.9多窗体(Multi-Form)

4.9.2语句与方法在多窗体中,经常需要打开、显示、隐藏、关闭指定的窗体,这此功能可以通过相应的语句和方法来实现。程序运行时,启动窗体先要被装入内存(Load),然后才能在屏幕上显示(Show)。对于其他窗体,可以执行Load语句将其装入内存,使用Show方法进行显示;暂时不需要的窗体,能够用Hide方法隐藏起来;对于不再使用的窗体,可以执行Unload语句将其在内存中卸载。(1)Load语句格式:Load窗体名称功能:把指定的窗体装入内存。说明:“窗体名称”是窗体的Name属性。执行Load语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来。要显示窗体,需要使用Show方法。(2)Show方法格式:[窗体名称.]Show[模式]功能:显示指定的窗体。说明:[窗体名称.]项可以省略,省略此项时,表示对当前窗体进行显示。第4章常用控件与窗体2022/12/174.9多窗体(Multi-Form)

4.9.2语句4.9多窗体(Multi-Form)

[模式]选项用来确定窗体的状态,可选值为0(缺省值)和1,含义如下:0:窗体为“非模式型”,可以对本窗体或其他窗体进行操作,如查找、替换对话框。1:窗体为“模式型”,只能对本窗体而无法对其他窗体进行操作,如打开、保存对话框。在[模式]项取值为1时,本程序内的其他窗体不能响应对用户的操作,只有在关闭该窗体后才能使用这些窗体。Show方法兼有装入内存和显示窗体两种功能。在执行Show时,如果窗体不在内存中,则Show方法会自动把窗体装入内存,然后再进行显示。(3)Hide方法格式:[窗体名称.]Hide功能:隐藏指定窗体。说明:使用后Hide方法,虽然窗体不显示在屏幕上,但其仍在内存中。(4)Unload语句格式:Unload窗体名称功能:清除内存中指定的窗体。说明:执行Hide方法和Unload语句后,窗体都会从屏幕上消失,但有所区别:第4章常用控件与窗体2022/12/174.9多窗体(Multi-Form)

[模式]选项用来确4.9多窗体(Multi-Form)

使用Hide方法后,指定窗体仍在内存中,使用Show方法时,此窗体会迅速显示出来。此方法虽占用内存,但可以快速的再次显示窗体,常用于隐藏暂时不需要的窗体。执行Unload语句后,指定窗体已不在内存中,使用Show方法时,还要把窗体从新装入内存再进行显示。此语句节省内存,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论