理解编程概念 处理 Windows 窗体 处理控件 代码风格 第二章 窗体及控件 理解编程概念 处理 Windows 窗体 处理控件 代码风格
理解编程概念 事件驱动编程 设计对象的蓝图:类 事件 方法 对象 属性
事件驱动编程与面向过程编程的区别: 1. 事件驱动编程只有当特定事件调用该事件所对应的代码时,编程语句才回执行。 2 事件驱动编程与面向过程编程的区别: 1.事件驱动编程只有当特定事件调用该事件所对应的代码时,编程语句才回执行。 2.面向过程编程的应用程序按照代码顺序执行。
VB.NET对象支持的事件: VB中每个对象都支持若干个事件,在代码编辑器中左边选择对象,右边可以选择事件.
事件驱动编程 Sub Button1_Click (…) ‘添加事件代码 End Sub
设计对象的蓝图:类 对象 类 示例 类是对象抽象化的表示形式 对象是类的实例 类比:设计图 类比: 基于设计图的房子 在 VB 项目中每一个窗体是一个对象 每一个窗体是一个 Form 类的实例 示例
类对象构成元素:属性、方法、事件 1. 属性是对象的特征 2.方法是对象可执行的操作 3.事件是由用户触发可被对象检测的操作 类对象构成元素:属性、方法、事件 1. 属性是对象的特征 2.方法是对象可执行的操作 3.事件是由用户触发可被对象检测的操作
窗体 创建窗体 设置窗体属性 调用方法 处理窗体事件 模态和非模态窗体 管理多个窗体 (更改启动对象)
窗体部分属性 Name与text属性 Dock属性 Opacity属性 Acceptbutton与cancelbutton属性 Sartposition属性 Windowstate属性
窗体常用方法 Centertoscreen:在窗体打开时将窗体居中显示 Close:关闭窗体 Hide:隐藏窗体,不过窗体仍存在 Show:显示窗体 Showdialog:显示窗体
窗体事件 Activated事件:窗体被代码激活时发生 Click事件: Clicking:关闭窗体的过程中发生 Deactivate事件:窗体失去焦点且不再是活动窗体时发生 Gotfocus事件:窗体得到窗体时发生 Load事件:在窗体第一次显示时发生
设置窗体属性 如果改变 Form1 的 Name 属性,则需要重新设置项目的启动对象,否则项目将不能正常启动 窗体名 “按分类排序” 按钮 “按字母排序”按钮 “描述”窗格 如果改变 Form1 的 Name 属性,则需要重新设置项目的启动对象,否则项目将不能正常启动
调用方法 方法 Sub Form1_Click Me.CenterToScreen( ) End Sub
处理窗体事件 类名 列表框 事件
模态与非模态窗体 1.模态窗体 在关闭前用户不能与程序中的其他窗体进行交互,方法:窗体名.showdialog 2.非模态窗体 VB.NET默认窗体,用户不关闭该窗体就能切换到另一个窗体或对话框,方法:窗体名.show
如何实现如下场景 用户单击第一个窗体上的某个按钮,显示第二个窗体,同时不显示第一个窗体,用messagbox函数显示欢迎信息!
命名约定 命名规则 元素名称必须以字母或者下划线 ( _ ) 开头 元素名称中只能包含字母字符、数字和下划线 元素名称如果以下划线开头,其中至少要有一个字母字符或者数字字符 元素名称不能与保留的关键字相同 Answer42 42Answer OpenButton True BADSTYLE _poorstyle BestStyle 命名建议 命名规范:用 PascalCasing 或 camelCasing命名规范,依赖于要命名的元素 结构:对象使用名词来命名,方法使用动词来命名 单词选择:在各个代码段中都要保持一致
设置代码格式和编写文档 缩进代码 行继续符 字符串连接符 代码注释 Sub Button1_Click Me.Close End Sub MessageBox.Show("User Name = " & UserName.Text & _ ", Password = " & Password.Text) 'Make CalculationForm visible Dim CalculationForm as new Form2( ) CalculationForm.Show( )
按钮控件(Button) Click(单击鼠标事件)。 例:试编写一段程序:输入两个数,并可用命令按钮选择执行加、减、乘、除运算 常用属性 Text属性 Name属性 FlatStyle属性 Image属性 ImageAlign属性 命令按钮响应的事件 Click(单击鼠标事件)。 例:试编写一段程序:输入两个数,并可用命令按钮选择执行加、减、乘、除运算
标签控件(Label) 标签控件的用途 标签主要用来显示文本.通常用标签来为其他控件显示说明信息、窗体的提示信息,或用来显示处理结果等信息.但是,标签显示的文本不能被直接编辑. 标签的常用属性 Text属性:用来设置标签显示的内容,最多可包含1024个字符. Autosize属性 Borderstyle属性:用于设定标签的边框形式,共有三个设定值. 标签响应的事件 常用的事件有:Click事件,DoubleClick事件。
标签应用 在窗体上建立4个标签,其中Label1的Text属性设置为“书名:”、Label2的Text属性设置为“”、Label3的Text属性设置为“出版社:”、Label4的Text属性设置为“”。编写程序,当单击“书名”时,右边的标签框内显示“VB.NET实用教程”;当单击“出版社”时,右边的标签内显示“电子出版社”。如图所示。
文本框控件(TextBox) Text属性 MaximumLength属性 MultiLine属性 ReadOnly属性 文本框的用途 可用来输出或显示文本信息 可接受从键盘输入的信息 常用属性 Text属性 MaximumLength属性 MultiLine属性 ReadOnly属性 ScrollBar属性 Passwordchar属性 文本框控件响应的事件 Textchanged事件:当文本框的文本内容发生改变时,触发该事件。 LostFocus事件:当使用Tab键或用鼠标单击窗体上的其他对象,而使该文本框失去焦点时,触发该事件。 常用方法 SetFocus方法 使文本框具有焦点。 Undo方法 是取消对该文本框的上一次操作
文本框应用 在窗体上创建3个文本框。当程序运行时,在第一个文本框中输入一行文字时,在另两个文本中同时显示相同的内容,但显示的字号和字体不同。要求输入字符数不超过10
单选按钮和复选框应用 建立一个简单的购物计价程序,物品与单价已列出,用户只需在购买物品时,选择购买的物品,并单击“总计”按钮,即可显示购物总的价格
列表框控件(ListBox) 列表框的用途 常用属性:Items属性,Multicolumn属性,SelectionMode属性,SelectedItem属性,SelectedIndex属性 列表框控件响应的事件 常用的有:Click、Doubleclick、GotFocus、LostFocus、SelectedIndexchanged等事件
列表框控件(ListBox) 功能:是把一个列表项加入到列表框的底部。 格式:Listname.Items.Add(Item) 其中: 列表框控件常用方法 Items.Add方法 功能:是把一个列表项加入到列表框的底部。 格式:Listname.Items.Add(Item) 其中: Listname:列表框控件的名称 Items:要加入到列表框的列表项,必须是一个字符串表达式 Items.Insert方法 功能:是把一个列表项插入到列表框的指定位置。 格式: Listname.Items.Insert(Index,列表项) Index:是新增列表项在列表框中的位置,为0是加到列表框的第一个位置。 Items.Remove方法 功能:是从列表框中删除一个列表项 格式:Listname.Items.Remove(Item) Items.Clear方法 功能:清除列表框中的所有列表项 格式:Listname.Items.Clear()
列表框控件应用 建立一个列表框,在列表框中有一些国家的名称,当选定某个国家后,单击“确定”按钮,在标签上显示选定国家的名称
滚动条控件(ScrollBar) 滚动条的用途 常用属性 滚动条控件响应的事件 Maximum最大值属性 Maximum最小值属性 Value属性 Smallchange最小变动值属性 Largechange最大变动值属性 滚动条控件响应的事件 Scroll事件 Change事件
滚动条控件应用 建立一个水平滚动条:设置其Maximum属性值为100,Minimum属性值为0,Smallchange属性值为2,Largechange属性值为10,Value属性初始值为50。另建立一个文本框,用它来显示滑块当前位置所代表的值
滚动条控件应用(代码在注释) 设计一个调色板应用程序,如图所示。建立三个水平滚动条作为红、蓝、绿三种基本颜色的输入工具,合成的颜色显示在右边的标签中,用其背景颜色属性Backcolor值的改变实现合成颜色的调色 Private Sub HSBred_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HSBred.Scroll label1.backcolor = Color.FromArgb(CType(HSBred.Value, Byte), CType(HSBgreen.Value, Byte), CType(HSBblue.Value, Byte)) End Sub Private Sub HSBgreen_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HSBgreen.Scroll Private Sub HSBblue_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HSBblue.Scroll