




已阅读5页,还剩179页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第7章VB.NET程序设计基础,本章主要内容:介绍VB.NET的集成开发环境;常用控件(主要属性,方法和事件)的使用;VB.NET程序设计的基础知识(数据类型、表达式、程序控制结构等)。(重点),2,7.1VB.NET基本概念,7.1.1VB.NET简介,.NET开发平台:如图所示。,3,7.1.1VB.NET简介,4,7.1.1VB.NET简介,1.NET开发平台的特点支持多种语言编程环境。VS.NET是一个集成开发环境,集成VB、VC、C#、J#。允许它们共享工具并有助于创建混合语言解决方案。可以开发多种应用程序。如Windows应用程序、ASPWeb应用程序、XMLWebservices、移动(Mobile)应用程序等等。,5,7.1.1VS.NET简介,使用同一个基础类库。在传统的语言编程环境中,不同的语言有不同的函数库,而且调用方式也不同,不同语言的函数库是不能通用的。在VS.NET中,大家使用同一个基础类库。,6,7.1.1VS.NET简介,公共语言运行时库。运行时库提供了执行程序的服务,实现了编程语言的统一。.NET程序需要2次编译才能在CPU上运行。首先编译生成与CPU无关的中间语言,然后在公共语言运行时库(CLR)的支持下,中间语言程序被编译成本地CPU指令程序。实现了.NET跨平台运行的目标。,7,2.VS.NET和.NET框架.NET框架是与VS.NET紧密相联,VS.NET依赖于.NET框架提供的服务。,7.1.1VS.NET简介,.VS.NET和.NET框架的关系如下图所示。,8,9,.VB.NET和VS.NETVB.NET是VS.NET支持的多种语言之一。是微软推出的第个基于.NET框架的开发工具,是完全面向对象的编程语言,支持继承、重载、构造等面向对象方法。,7.1.1VS.NET简介,10,7.1.2VB.NET集成开发环境,进入VB.NET主要窗口介绍VB.NET主窗口窗体设计器窗口代码设计属性窗口解决方案资源管理器窗口工具箱窗口其它窗口(在“视图”菜单中选择),一个应用程序由项目构成,一个项目对应一个项目文件夹,其中包括项目涉及的所有文件。,11,7.1.3建立简单的应用程序,本节我们通过2个简单例子说明完整VB.NET应用程序的建立过程。建立一个应用程序分以下几步进行:建立用户界面的各个对象;对象属性的可视化设置;对象事件过程编码;保存、调试和运行程序。,12,7.1.3建立简单的应用程序,例7.1界面见下页图所示。,13,7.1.3建立简单的应用程序,例7.2界面见下页。通过按钮操作让“欢迎使用VB.NET”在窗口中移动。步骤:设计用户界面并设置控件属性编写事件过程,14,7.1.3建立简单的应用程序,PrivateSubTimer1_Tick(ByValsender,ByValeAs)IfLabel1.LeftMe.WidthThenLabel1.Left=-200ElseLabel1.Left=Label1.Left+8EndIfEndSub,PrivateSubButton2_Click().手动移动Timer1.Enabled=FalseTimer1_Tick(sender,e)调用一次Timer1_TickEndSub,PrivateSubButton1_Click().自动移动Timer1.Enabled=TrueEndSub,15,7.1.4如何使用帮助系统,VS.NET中联机帮助系统是基于MSDNlibrary。VS.NET的MSDNlibrary可以随其安装时一起安装,也可以以后安装。帮助有下面常用的四种方式。1.动态帮助动态帮助跟踪用户的动作,并自动地显示一系列帮助主题。选择“帮助/动态帮助”菜单项,打开动态帮助窗口。,16,鼠标指向哪,帮助就到哪!,7.1.4如何使用帮助系统,17,2.索引选择“帮助/索引”菜单项,打开索引帮助窗口。,7.1.4如何使用帮助系统,18,3.使用上下文相关帮助按“F1”键使用上下文相关帮助。它可以根据当前选定的内容直接定位帮助内容。(电脑操作演示)4.网络资源可通过http:/www.Microsoft.con/China/msdn网址,获得最新、最及时的有关帮助信息。,7.1.4如何使用帮助系统,19,7.2VB.NET可视界面设计,本节主要分以下几方面内容:面向对象设计的基本概念。介绍若干常用控件的使用。,20,7.2.1VB.NET对象概念,1.对象和类对象:是对客观世界中的事物的抽象。用事物的特征(属性)和行为(方法)来描述。例如:一个人,一扇窗口,一个按钮等都是对象。对象是面向对象编程的基本元素.,21,类:是对一组相似对象的抽象描述,这些对象具有相同种类的属性和方法。类与对象的关系:类是抽象的,对象是具体的。类是对象的抽象,对象是类的实例。类是创建对象实例的模板。例如:“桥梁”是抽象的类,则具体的桥梁,如杨浦大桥、南京长江大桥等则是对象。,7.2.1VB.NET对象概念,22,在VB.NET中,工具箱中的各种图标就是系统设计好的标准控件类。当我们把所要的控件从工具箱中拿到窗体中时,就是创建了这个控件类的一个对象。该对象继承了类的所有属性和方法,当然用户可根据需要修改属性的值。,7.2.1VB.NET对象概念,23,2.对象的属性、事件和方法VB.NET的控件对象具有自己的属性、方法和事件。(1)属性:标识了对象的特征。例如:一个”按钮”对象,有属性:字体(Font)、前景颜色(Forecolor)、背景颜色(Backcolor)、文本(Text)、是否可操作(Enabled)等等。,7.2.1VB.NET对象概念,24,(2)方法:附属于对象的行为和动作。例如:一个“窗体”(form)对象,方法有:Add(往窗体中加入控件对象)、Close(窗口关闭)等等。“方法”是指使对象行动的命令,它是通过调用来使用的。对象方法的调用格式:对象名.方法(参数)例如:Textbox1.Focus()Textbox1获得焦点,7.2.1VB.NET对象概念,25,(3)事件事件即发生的事情。是指对象可以识别和响应的操作。事件是触发执行的。如:单击鼠标左键(Click),双击鼠标左键(DoubleClick)等.事件可以由用户操作触发,也可以由系统自动触发(例如,出错).当事件发生之后,需要触发一些操作,这就需要用户编写相应的代码对此进行响应。这些代码就构成了“事件过程”。,7.2.1VB.NET对象概念,26,VB.NET是采用事件驱动程序设计方法。程序执行后系统等待某个事件的发生,然后去执行处理此事件的事件过程,待事件过程执行完后,系统又处于等待某事件发生状态,这就是事件驱动程序设计方法。,7.2.1VB.NET对象概念,对象、事件和事件过程之间的关系如下图。,27,.对象的通用属性,主要属性:(1)name(对象名称):每个对象都有一个唯一标识名字。对象创建时,系统自动给它默认名,如form1、textbox1等,但用户可修改。(2)text(对象显示文本):form,textbox,button,label等大多数控件都有此属性.,7.2.1VB.NET对象概念,28,(3)Location(控件对象的位置):控件左上角相对容器的位置,由一对整数表示,单位为像素。(可以用left和top表示)例如:button1.location=newpoint(88,48)注:New表示创建一个新的point类的对象。等价于:button1.left=88,button1.top=48,7.2.1VB.NET对象概念,29,(4)size(控件对象的大小):也由一对整数表示,单位为像素。(可以用width和height表示)例如:button1.Size=newSize(80,32)等价于:button1.width=80button1.height=32,7.2.2窗体和常用控件,Point,size,color都是结构,30,(5)font(字体):设置对象显示文字的字体。Label1.Font=NewFont(“隶书”,14)(6)ForeColor、BackColor(前景颜色和背景颜色):设置对象显示文字的颜色和背景颜色Label1.ForeColor=Color.Blue(7)Cursor(光标):给出鼠标位于对象上时显示的光标。Button1.Cursor=newCursor(“光标文件名”),7.2.2窗体和常用控件,31,(8)Enabled:设置对象是否可操作true或false。(9)Visible:设置对象是否可见true或false。(10)TabIndex:决定程序运行时,按Tab键,焦点在控件移动的顺序。,7.2.2窗体和常用控件,32,窗体对象就是Form对象。,主要属性:ControlBox(窗体控制框true或false)、BackgroundImage(背景图片),7.2.2窗体,WindowsState:设置程序运行时,窗体是正常(Normal)、最大化、最小化MaximizeBox(最大化按钮要否?默认true)MinimizeBox(最小化按钮要否?默认true),33,2.常用事件:Load事件:当窗体被装入工作区时触发。一般该事件代码中,对变量或对象的属性设初值。Click(单击鼠标事件)、DblClick(双击鼠标事件)、Activated(窗口被激活时触发),7.2.2窗体和常用控件,34,例7.2:见P172。,7.2.2窗体和常用控件,单击窗体,双击窗体,35,7.2.2窗体和常用控件,PrivateSubForm1_Load()Me.FormBorderStyle=FormBorderStyle.Fixed3DMe.Text=例7.3Me.MaximizeBox=FalseMe.MinimizeBox=FalseMe.BackgroundImage=nothing去掉背景图片EndSub,36,PrivateSubform1_Click()Me.Text=单击窗体Me.BackgroundImage=_Image.FromFile(“tongji2.jpg)Me.WindowState=_FormWindowState.MaximizedEndSub,7.2.2窗体和常用控件,37,PrivateSubform1_DoubleClick()Me.Text=“双击窗体”Me.WindowState=_FormWindowState.NormalMe.Size=NewSize(264,256)Me.BackgroundImage=_Image.FromFile(“tongji1.gif)EndSub,7.2.2窗体和常用控件,38,3.常用方法Show(显示)、Hide(隐藏)、ShowDialog(以对话框模式显示窗体,即控制用户只能对该窗体操作,对窗体之外的东西无法操作,直到用户关闭该窗体)。,7.2.2窗体和常用控件,39,4.多重窗体对于较复杂应用程序,往往需要多个窗体来实现。在多重窗体中,每个窗体可以有自己的界面和程序代码,完成各自的功能。,7.2.2窗体和常用控件,VB.NET创建的窗体是类,必须通过New实例化为对象。,40,添加窗体选择“项目/添加Windows窗体”命令.在对话框中选择“Windows窗体”即可.启动窗体的设置系统默认form1为程序运行时的启动窗体,可以修改设置,将其他窗体(如form2)设置为启动窗体。,7.2.2窗体和常用控件,41,7.2.2窗体和常用控件,(2)窗体实例化和显示在多重窗体程序中,只有启动窗体(假定为Form1)的实例化是自动完成的.其他所有窗体都是通过代码实例化并显示的.例如显示窗体form2要使用下列语句:dimf2asnewform2定义f2为类form2的对象f2.show()或f2.showDialog(),42,(3).不同窗体间数据的访问两个窗体之间数据的访问有下列2种形式.a.窗体实例化后,窗体数据的互访窗体form1访问窗体form2上的数据.Form1中代码形式如下:,7.2.2窗体和常用控件,43,7.2.2窗体和常用控件,窗体form2访问窗体form1上的数据.Form2中某事件代码形式如下:,Dimfrm1asnewfrom1me.textbox1.text=frm1.textbox1.textFrm1.show()显示窗体frm1,44,b.通过在模块中定义公共变量实现相互访问.如:建立一个模块Module1。在其中定义公共变量:PublicxasImteger,7.2.2窗体和常用控件,例7.3(P175):多重窗体应用示例。,45,标签控件用于显示文本信息,不能输入文本信息(输入用文本框)。,1.label(标签控件),(1)主要属性Name、text、location、forecolor、size、backcolor、visible、Font(字体)、BorderStyle(边框风格)、,7.2.3常用控件,46,(2)主要事件Click、DoubleClick、Change(改变),Contextmenu(快捷菜单),TextAlign(文字在标签中的对齐方式)、image(背景图片)、AutoSize(自动大小),7.2.3常用控件,47,文本框是一个文本编辑框,用户可以在该框中输入、编辑、修改和显示文本内容。,2.TextBox(文本框),(1)主要属性Name、location、forecolor、size、backcolor、visible、Font(字体)、BorderStyle(边框风格)其他属性见下页,7.2.3常用控件,48,属性,类型,意义,Text,字符串,框中编辑内容,MaxLength,整型,允许输入最多字符数,MultiLine,逻辑,允许多行输入否,false,ScrollBars,枚举,选择滚动条,MultiLine为true时,PassWordChar,字符,文本框用于输入口令时,显示的字符,ReadOnly,逻辑,只读,False,SelectionStart,整型,选定的正文开始的位置,第1个字符位置为0,SelectionLength,整型,选定的正文长度,SelectedText,字符串,选定的正文内容,7.2.3常用控件,49,(2)主要事件TextChanged:文本框中内容改变时触发.KeyPress/KeyDown:当焦点在文本框上时,用户按了键时触发。LostFocus:当文本框失去焦点时触发.Gotfocus:当文本框得到焦点时触发.,(3)主要方法Focus:将光标移到文本框上.例如:TextBox1.Focus(),7.2.3常用控件,50,7.2.2窗体和常用控件,51,3.Button(命令按钮),(1)主要属性Name、text、location、forecolor、size、backcolor、visible、Font(字体)、Enabled、BorderStyle(边框风格)、TextAlignimage(图片,建图形按钮时用)、,7.2.3常用控件,52,例7.4按钮应用。界面、功能如下图所示。,TextBox1.Font=NewFont(隶书,16,FontStyle.Italic),7.2.2窗体和常用控件,演示,收集3个图片,存放在项目的bin文件夹下。,53,4.单选按钮、复选框和分组框,单选按钮(RadioButton)与复选框(ChekBox)的区别:单选按钮任何时候最多只能选择一项,一般利用Panel(面板)或GroupBox(分组框)将相同性质按钮归类在一组;复选框列出多项,用户可从中选择一项或多项。见下页图所示。,7.2.2窗体和常用控件,54,7.2.2窗体和常用控件,55,(1)主要属性Name、Font(字体)、forecolor、visible、Enabled、text、Checked:逻辑值,表示单选按钮或复选框选中否。(2)主要事件Click、CheckedChanged(对象值改变时触发),7.2.3常用控件,56,Panel(面板)与GroupBox(分组框)都是用于将相同性质的对象归类。当我们移动分组框或面板时,其中的对象也会跟着移动。,分组框的主要属性:text,BackgroundImage,font面板的主要属性:BorderStyle,BackColor,BackgroundImage,7.2.3常用控件,57,5.列表框和组合框,列表框(ListBox):在框中提供若干选项供用户选择。只允许用户选择,不能输入。组合框(ComboBox):由文本框和下拉列表框组合而成。用户即可以在文本框中输入又可在下拉列表中选择。,7.2.3常用控件,58,(1)主要属性Items:集合。存储列表框或组合框中的所有选项。SelectedIndex:整型。程序运行时被选定的项的序号。第1项的序号为0。SelectedItem:字符。被选定的项的内容。Text:用户输入或选择的值。Items.Count:整型。程序中引用,值为列表框或组合框中的项数。Sorted:逻辑。列表框或组合框的选项是否按字母表顺序排序.,7.2.3常用控件,59,DropDownStyle:设置组合框外观和功能。,当ComboBox1.DropDownStyle=ComboBoxStyle.DropDownList时组合框只能通过选择得到文本。,当ComboBox1.DropDownStyle=ComboBoxStyle.DropDown时组合框即可通过输入又可选择得到文本。,组合框专有属性:,7.2.3常用控件,60,当ComboBox1.DropDownStyle=ComboBoxStyle.Simple时组合框即可输入也可选择得到文本。但外观有改变。下拉列表将不折起。如下图所示。,7.2.3常用控件,61,(2)常用方法Items.Add:把一个选项加入到列表框或组合框。Listbox1.items.Add(“computer”)Items.Remove:从列表框或组合框中删除指定的选项。Listbox1.items.remove(“computer”)Items.RemoveAt(Index):删除列表框或组合框中指定位置上的选项。Listbox1.items.removeAt(1)Items.Clear:清除列表框或组合框中的所有选项。,7.2.3常用控件,62,(3)常用事件Click、DoubleClick、SelectedIndexChanged(SelectedIndex属性值改变后触发),例7.5列表框控件程序。界面如图。,7.2.3常用控件,63,6.滚动条和进度条,滚动条(ScrollBar):通常附在窗体上协助观察数据或确定位置,也可用来作为数据的输入工具。滚动条有垂直滚动条(VScrollBar)和水平滚动条(HScrollBar)2种。进度条(ProgressBar):通常指示事务处理的进度。,7.2.3常用控件,64,(1)主要属性Value:滑块当前位置所代表的值,缺省值为0。Minimun、Maximun:滚动条可以调整的最小值和最大值。SmallChange:滚动条两端的箭头为微调箭头,用户单击微调箭头时,Value属性增加或减少的值。(相当于步长)LargeChange:按下中间快卷区域时的移动量。,7.2.3常用控件,65,(2)主要事件Scroll、ValueChange:当滚动条内滑块位置发生变化时,ValueChange的值随之改变时,触发这两个事件。,例滚动条程序。三个滚动条分别控制PictureBox1的背景颜色(red、green、Blue)。Minimun=0,maximun=255,largechange=10,SmallChange=1.见下图。,7.2.2窗体和常用控件,66,PrivateSubHScrollBar1_Scroll()PictureBox1.BackColor=Color.FromArgb(HScrollBar1.Value,HScrollBar2.Value,HScrollBar3.Value)EndSub,7.2.3常用控件,67,7.定时器Timer,(1)主要属性Enabled:为false时,定时器不起作用。Interval:两次触发tick事件的时间间隔。其值以ms(0.001s)为单位。即1000为1秒。(2)主要事件Tick:时间间隔一到触发该事件。,7.2.3常用控件,68,例7.6:用定时器控制蝴蝶在窗体内飞舞。窗体中放三个PictureBox控件。设计时,只有PictureBox1的visible=true。通过定时器控制在PictureBox1中装入PictureBox2和PictureBox3的图像来实现。,7.2.2窗体和常用控件,69,7.2.2窗体和常用控件,事先收集2个不同蝴蝶图片,存放在项目的bin文件夹下。,70,8、日期挑选控件,DateTimePicker控件:用户不想输入日期(或时间),可以通过该控件选择一个日期(时间)。,7.2.3常用控件,71,(1)主要属性:Value:对象的当前值。Format:显示日期的格式。Long(2008年2月25日)short(2008/2/25)time(仅显示时间)custom(用户所给格式)ShowUpDown:控制显示的样式Flase/true,7.2.3常用控件,72,例7.7程序界面如图所示。,PrivateSubDateTimePicker1_ValueChanged()MessageBox.Show(DateTimePicker1.Value.date.ToString)EndSub,7.2.3常用控件,73,RichTextBox控件用于显示、输入和操作格式化的文本。控件除了做TextBox控件所做的每件事外,还可以显示字体、颜色和链接,从文件加载文本和加载嵌入的图像,以及查找指定的字符(find方法)。RichTextBox控件通常用于提供类似字处理应用程序(如MicrosoftWord)的文本操作和显示功能。,7.2.3常用控件,9.RichTextBox控件,74,RichTextBox没有PasswordChar属性,但比TextBox功能强大,主要有:(1)文本的长度没有64k限制;(2)可对选中的文本设置格式,如SelectionBackColor、SelectionColor、SelectionFont等(3)可方便用LoadFile和SaveFile直接读写文件。,7.2.3常用控件,75,7.2.3常用控件,RichTextBox常用的2个方法:SaveFile:将RichTextBox控件中内容保存到文件中LoadFile:将文件内容加载到RichTextBox控件中用法:RichTextBox1.LoadFile(路径文件名,流类型)RichTextBox1.SaveFile(路径文件名,流类型)功能:将RTF格式文件或标准ASCII文本文件加载到RichTextBox控件中(或反之)。,76,7.2.3常用控件,IfOpenFileDialog1.ShowDialog()=DialogResult.OKThenRichTextBox1.LoadFile(OpenFileDialog1.FileName,RichTextBoxStreamType.PlainText)EndIf,77,.菜单设计,有种形式的菜单:MainMenu(主菜单)和ContextMenu(弹出式菜单,或称快捷菜单)。,7.2.4菜单和对话框,(1)菜单建立:选择工具箱中的“MainMenu”控件,并在窗口中拖曳出合适的大小;此时MainMenu对象出现在窗体外的区域直接在“请在此处输入”的虚框中输入所要的菜单数据。见下图。,78,7.2.4菜单和对话框,79,7.2.4菜单和对话框,(2)主要属性,Name:菜单或菜单项名。Text:菜单显示的文本。字母前有表示该字母是热键,“-”显示菜单项分割线。ShortCut:快捷键。Checked:文本前有“”,表示被选中。,(3)菜单项事件:主要是Click事件,80,7.2.4菜单和对话框,(4)弹出菜单,设计方法类似Mainmenu。为某个对象的ContextMenu属性指定快捷菜单ContextMenu1。当鼠标移到对象上,按鼠标右键打开此菜单。,81,.输入和显示对话框,7.2.4菜单和对话框,输入和输出对话框不是控件,是由系统提供的函数实现。,(1)InputBox输入函数:InputBox(提示,标题,默认值,Xpos,Ypos)函数返回用户输入的值,函数值类型是字符串。,82,7.2.4菜单和对话框,InputBox对话框,83,例如:Dimanasstring,gzasDecimal=0an=InputBox(“请输入工资:”,“计算工资”,0)Ifan.trim.length0ThenGz=CDec(an)Textbox1.text=gzEndIf注:InputBox函数值是字符串型,上例中系统会将字符串型强制转换为Decimal.,7.2.4菜单和对话框,84,(2)MsgBox输出函数功能:打开一个信息窗口,等待用户选择一个按钮。函数返回值是一个整数,不同整数代表用户按了不同按钮。若不需要返回值,可作为一个独立的语句使用。格式:MsgBox(“提示”,按钮,“标题”)Messagebox.Show(“提示”,“标题”,按钮),7.2.4菜单和对话框,85,例:MsgBox(“真的要删除吗?”,MsgBoxStyle.YesNo+MsgBoxStyle.Question,“信息提示”)或MsgBox(“真的要删除吗?”,4+32,“信息提示”),7.2.4菜单和对话框,86,按钮设置值及其意义,7.2.4菜单和对话框,87,函数返回与所选按钮的关系,7.2.4菜单和对话框,88,例7.8编写一个账号和密码输入检查程序。P186,7.2.4菜单和对话框,89,.通用对话框,通用对话框控件包括:打开文件对话框(OpenFileDialog)保存文件对话框(SaveFileDialog)选择颜色对话框(ColorDialog)字体设置对话框(FontDialog)打印设置对话框(PrintDialog)这些对话框,程序设计时,显示在窗体下面,运行时,不会显示在窗体上,当需要弹出对话框时,就用ShowDialog方法。,7.2.4菜单和对话框,90,假设窗体加入控件OpenFileDialog1,在程序中执行下面语句就会弹出“打开文件”对话框。OpenFileDialog1.ShowDialog,例颜色对话框。界面如图所示。,PrivateSubButton1_Click(。)。ColorDialog1.ShowDialog()Label1.ForeColor=ColorDialog1.ColorEndSub,7.2.4菜单和对话框,91,7.2.4菜单和对话框,92,例字体对话框。FontDialog1.ShowDialog()Label1.Font=FontDialog1.Font例打开保存对话框。OpenFileDialog1.ShowDialog()SaveFileDialog1.ShowDialog(),OpenFileDialog1.Filter=“TextFiles(*.Txt)|*.txt|Documents(*.doc)|*.doc|Pictures(*.bmp)|*.bmp|Jepg文件(*.jpg)|Jpg|AllFiles(*.*)|*.*”,7.2.4菜单和对话框,93,例字体对话框。FontDialog1.ShowDialog()Label1.Font=FontDialog1.Font例打开保存对话框。OpenFileDialog1.ShowDialog()SaveFileDialog1.ShowDialog(),OpenFileDialog1.Filter=“TextFiles(*.Txt)|*.txt|Documents(*.doc)|*.doc|Pictures(*.bmp)|*.bmp|Jepg文件(*.jpg)|Jpg|AllFiles(*.*)|*.*”,7.2.4菜单和对话框,94,例字体对话框。FontDialog1.ShowDialog()Label1.Font=FontDialog1.Font例打开保存对话框。OpenFileDialog1.ShowDialog()SaveFileDialog1.ShowDialog(),OpenFileDialog1.Filter=“TextFiles(*.Txt)|*.txt|Documents(*.doc)|*.doc|Pictures(*.bmp)|*.bmp|Jepg文件(*.jpg)|Jpg|AllFiles(*.*)|*.*”,7.2.4菜单和对话框,95,例7.10:P177,7.2.4菜单和对话框,96,7.3VB.NET基本语言,本节主要内容:VB.NET数据类型和表达式程序控制结构综合应用举例,97,7.3.1.VB.NET数据类型和表达式,数据类型VB.NET提供了系统定义的基本数据类型,用户可根据需要自己定义数据类型。表7.3.1给出了各种基本数据类型情况。,98,表7.3.1VB.NET的标准数据类型,7.3.1.VB.NET数据类型和表达式,99,表7.3.1VB.NET的标准数据类型(续),7.3.1.VB.NET数据类型和表达式,100,2.变量:由字母、数字、下划线构成的标识符。字母不区分大小写,首字符只能是字母或下划线。,7.3.1.VB.NET数据类型和表达式,变量的声明形式:Dim变量名1As类型=初值Dim变量名1,变量名nAs类型说明:As类型缺省,默认变量为Object类型。,101,例:DimxAsChar=“网”DimmydayAsdate=_#1982/11/01#Dims1,s2AsString,xAsIntegerDimi!=12用类型符来说明类型,7.3.1.VB.NET数据类型和表达式,102,7.3.1.VB.NET数据类型和表达式,变量的默认初值:,103,7.3.1.VB.NET数据类型和表达式,(4)变量的作用域分为:块级变量、过程级变量、模块级变量、全局(公共)变量。块级变量:在控制结构块中声名的变量。如,IF/ENDIF、DO/LOOP、FOR/NEXT中。过程级变量:在一个过程中用Dim或Static声明的变量。只能在本过程中使用。过程结束,变量释放。,104,7.3.1.VB.NET数据类型和表达式,模块级变量:窗体(Form)、类(Class)、模块(Module)统称为模块。模块级变量指在模块内,任何过程外用Dim、Private声明的变量。可被本模块中任何过程访问。全局(公共)变量:在一个模块(Module)中用Public声明的变量。可被应用程序中的任何过程或函数中使用。其值在整个应用程序结束时才会消失。,105,(5).静态变量用Static语句声明的变量称为静态变量。每次调用过程时,静态变量保持原来的值。形式:Static变量名As类型例如:subsum(ByValnasinteger)StaticjAsinteger=0j+=n:sum=jEndsub,7.3.1.VB.NET数据类型和表达式,forn=1to100Sum(n)next,106,3.常量(P192)VB.NET有三种常量:直接常量、用户声明的符号常量、系统提供的常量。(1)直接常量常数值直接反映了其类型;也可在常数值后紧跟类型符显式地说明常数的数据类型。,7.3.1.VB.NET数据类型和表达式,107,例如:123(整型)、123S(短整型)、12345&(长整型)、1.23E2(单精度浮点型)、12.45(双精度浮点型,小数形式),7.3.1.VB.NET数据类型和表达式,108,(2)用户定义符号常量,形式:Const符号常量名As类型=表达式,例如:ConstPi=3.14159Pi为单精度型符号常量Conststr1=“VB.NET应用程序”Conststr1AsString=“VB.NET应用程序”As类型省写,系统会根据表达式类型决定常量类型。,7.3.1.VB.NET数据类型和表达式,109,7.3.1.VB.NET数据类型和表达式,(3)系统提供的常量VB.NET提供许多内部常量。一般以小写“vb”字母开头,后面跟有意义的符号.,110,4.名称空间和常用函数P192,7.3.1.VB.NET数据类型和表达式,(1)名称空间和类为了方便用户开发应用程序,使用系统提供的资源,微软通过名称空间把类划分为不同的组,将功能相近的类划到同一名称空间。有了名称空间,可以方便组织应用程序使用的各个类。如下页图所示。VB.NET有2个根名称空间。System(基础类库)和Microsoft(.VisualBasic(运行时库)。,111,7.3.1.VB.NET数据类型和表达式,一个名称空间下可以有:子名称空间、类、数据类型、结构、模块、枚举等等,112,7.3.1.VB.NET数据类型和表达式,113,引用名称空间有三种方法:项目引用当新建一个项目时,VB.NET根据所建项目的类型,自动导入部分名称空间的引用。如下图所示。,用户可以在“引用”上单击鼠标右键打开快捷菜单,添加“引用”项。,7.3.1.VB.NET数据类型和表达式,114,直接引用如要使用函数“Sqrt”,要使用system名称空间中的“Math”类。代码为:Label1.Text=System.Math.Sqrt(100)即:,名称空间.子名称空间.类名.成员名,7.3.1.VB.NET数据类型和表达式,115,Imports语句(引用语句)先用Imports语句指定要使用的名称空间,在以后的代码中只要使用名称空间的类型或成员,可减少程序语句的长度。Imports语句的格式:Imports名字空间.子名称空间注意Imports语句放置位置。如下页图所示。,7.3.1.VB.NET数据类型和表达式,116,7.3.1.VB.NET数据类型和表达式,117,(2)常用函数见P194数学函数、数据类型转换函数、字符串函数。,7.3.1.VB.NET数据类型和表达式,Instr(开始位置,字符串1,字符串2)从“字符串1”中指定位置开始找“字符串2”,找到返回所在位置(数字),未找到返回0。首位置从1计。Instr(字符串1,字符串2)表示从第1位置开始找。,Ctype(表达式,类型名)将表达式的数据类型转换为指定数据类型、对象、结构、类或接口。,118,5.运算符VB.NET运算符有20多种,与大多数语言中的运算符相似,它们用来描述算术、字符、关系和逻辑运算。,7.3.1.VB.NET数据类型和表达式,119,表7.3.5VB运算符,7.3.1.VB.NET数据类型和表达式,120,表7.3.5VB运算符(续),7.3.1.VB.NET数据类型和表达式,121,字符串连接运算“+”运算符:将两个字符串连接成一个字符串。如:dimstr1asstring=“应收帐款”dimstr2asstring=“500”Label1.text=str1+str2,7.3.1.VB.NET数据类型和表达式,结果:应收帐款500,122,“&”运算符:除可以连接两个字符串外,还可以将不同类型的对象相互连接起来。如:dimstr1asstring=“应收帐款”dimnumasinteger=500Label1.text=str1&num,注意:&的两边要加空格,7.3.1.VB.NET数据类型和表达式,结果:应收帐款500,123,7.3.2程序控制结构,程序控制结构有三种:顺序、选择、循环结构,它们是程序设计的基础。,124,1.顺序结构顺序结构的语句主要有:赋值语句、输入/输出语句等。(1)赋值语句简单赋值语句形式:变量名=表达式复合赋值语句的形式:变量名复合赋值运算符表达式,复合赋值运算符的含义及应用见下表。,7.3.2程序控制结构,125,设X初值为20,7.3.2程序控制结构,126,7.3.2程序控制结构,2.选择结构(1)If条件选择语句If条件选择语句有多种形式:单分支、双分支和多分支。,127,IfThen语句(单分子结构)形式:,If表达式Then语句,If表达式Then语句块EndIf,表达式:一般为关系表达式、逻辑表达式,也可为算术表达式,表达式值按非零为True,零为False进行判断。,7.3.2程序控制结构,128,语句块:可以是一个语句或多个语句。若用一行简单形式表示,则只能是一个语句;或一行写若干语句,但用冒号分隔。,例如:DimxAsIntegerX=Inputbox(“请输入一个数值:”)Ifx100ThenLabel1.text=“值大于100”,7.3.2程序控制结构,129,IfThenElse语句(双分支结构)形式:,If表达式Then语句块1Else语句块2EndIf,If表达式Then语句Else语句,7.3.2程序控制结构,130,IfThenElseIf语句(多分支结构),If表达式1Then语句块1ElseIf表达式2Then语句块2ElseIf表达式nThen语句块nElse语句块n+1EndIf,7.3.2程序控制结构,131,7.3.2程序控制结构,132,例:DimxAsIntegerX=InputBox(“请输入一个成绩:”)Ifx60ThenMsgBox(“你的成绩不及格!”)Label1.foreColor=Color.redElseIfx70ThenMsgBox(“恭喜你,不容易,及格了!”)Label1.foreColor=Color.YellowElseIfx=500,138,例如:DimansStringAns=InputBox(“请输入班级代号:”)SelectcaseAnsCase“a”,”A”Label1.text=“计算机班”Case“b”,”B”Label1.text=“电子班”,7.3.2程序控制结构,139,Case“c”,”C”Label1.text=“网络规划班”CaseElseLabel1.text=“输入错误”EndSelect,7.3.2程序控制结构,140,3.循环结构循环语句有两种形式:DoLoop(条件型)循环ForNext(计数型)循环。,7.3.2程序控制结构,141,(1)For循环语句用于控制循环次数预知的循环。语句形式如下:,7.3.2程序控制结构,For循环变量=初值To终值Step步长语句块ExitFor语句块Next循环变量,142,例如:计算2+4+98+100的总和。Dimsum,jAsIntegerSum=0Forj=2To100Step2Sum+=jNextLabel1.text=sum,7.3.2程序控制结构,143,(1)DoLoop循环语句用于控制循环次数未知的循环。语句形式如下:,形式1:DoWhile|Until条件语句块ExitDo语句块Loop,形式2:Do语句块ExitDo语句块LoopWhile|Until条件,7.3.2程序控制结构,144,说明:形式1为先判断后执行,有可能一次也不执行;形式2是先执行后判定,至少执行一次。While用于指明条件为True时执行循环体,Until正好相反。语句中的While|Until条件省略,表示循环永远为True。,7.3.2程序控制结构,145,例如:计算2+4+98+100的总和。,方法1:Dimsum,jAsIntegerSum=0:j=0DoSum+=j:j+=2Ifj100ThenExitDoLoopLabel1.text=sum,7.3.2程序控制结构,146,方法2:DimsumAsIntegerDimjAsIntegerSum=0:j=0DoWhilej100Sum+=j:j+=2LoopLabel1.text=sum,7.3.2程序控制结构,147,方法4:DimsumAsIntegerDimjAsIntegerSum=0:j=0DoSum+=j:j+=2LoopWhilej100Label1.text=sum,7.3.2程序控制结构,148,4.其它控制辅助语句VB.NET中提供的控制辅助语句有:Goto、Exit(ExitFor、ExitDo、ExitSub、ExitFunction)End(Endif、EndSelect、EndSub、EndFunction、EndStructure等),7.3.2程序控制结构,149,7.3.3数组,1.数组的声明与初始化,(1)声明一维数组形式:Dim数组名(下标上界)As类型,(2)声明二维数组形式:Dim数组名(下标1上界,下标2上界)As类型,注意:数组下标从0开始算起.,例:Dima(4)asinteger声明了一个含有5个元素的一维数组。元素为a(0)a(4).,150,7.3.3数组,151,2.重定义数组大小VB.NET中,所有已声明的数组的大小是可改变的,可以重新定义数组的大小。语句格式为:ReDimPreserve数组名(下标1上界,下标2上界),7.3.3数组,例:Dima(5)AsIntegerRedima(10),152,说明:关键字Preserve表示保留数组中内容,否则不保留。可以用UBound()获得数组的下、上界。例如:dima1,score(3)asintegerA=Ubound(score)为3,7.3.3数组,153,PrivateSubForm1_Load()Dimi,a(3)AsIntegerDimstr1AsString=Fori=1To4a(i-1)=InputBox(“输入第”&i&“个数值”,数组输入,0)Next,7.3.3数组,例如:从键盘接受4个数到数组中,然后显示数组各元素的值。,154,Fori=0To3str1=str1&a(i).Tostring&“”NextMsgBox(“数组各元素值为:&str1,MsgBoxStyle.Information,结果)EndSub,7.3.3数组,155,PrivateSubForm1_Load()Dimi,j,n,a(9),tempAsIntegerRandomize()为随机函数的产生不同种子Fori=0To9a(i)=int(Rnd()*(10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豪华装修转让协议书范本
- 设备搬运托运合同协议
- 赴日工作劳务合同协议
- 购买保密协议合同模板
- 购买足球干货合同协议
- 访谈保密协议书范本
- asp面试题目及答案
- 2025年中考物理模拟考试物理试题二及答案
- 2025年考古学专业研究生入学考试试题及答案
- 2025年科技创新与创业大赛试题及答案
- 2025届河北省“五个一”名校联盟高三下学期4月联考地理试题(含答案)
- 江苏省常州第一中学2025届高三下学期联合考试语文试题含解析
- 2024年贵州省中考理科综合试卷(含答案)
- GB/T 17937-2024电工用铝包钢线
- (完整版)机电工程质量通病防治(最终版)课件
- 离婚登记申请受理回执单(民法典版)
- 《过敏性休克》PPT课件(PPT 32页)
- 分子生物学教学课件:噬菌体调控
- CRH380B动车组电气系统.ppt
- 基于MATLAB的曲柄滑块机构运动的仿真
- 风机盘管国标、英制、企业型号参数对照表
评论
0/150
提交评论