命令钮标签文本框.ppt

上传人:sh****n 文档编号:2543721 上传时间:2019-11-27 格式:PPT 页数:45 大小:531.36KB
返回 下载 相关 举报
命令钮标签文本框.ppt_第1页
第1页 / 共45页
命令钮标签文本框.ppt_第2页
第2页 / 共45页
命令钮标签文本框.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
第四章 命令按钮、标签和文本框,课堂内容,命令按钮 标签控件 文本域控件,一、命令按钮(Command Button),命令按钮的用途,命令按钮CommandButton控件有时简称为“按钮”,用来进行人机交互操作,通过鼠标点击来执行某项操作。,请点我!,命令按钮控件CommandButton,使用CommandButton控件创建,可以有不同的外观:,Caption属性:该属性设定按钮显示的文字。 Style属性:控制按钮的显示类型,共有两种取值:标准类型和图形类型。 Picture属性:指定按钮中显示的图片。 BackColor属性:指定按钮的背景颜色。 MaskColor属性:指定按钮的图片中的透明色,即掩码。使用的前提是UseMaskColor属性设置为True。,命令按钮的快捷访问键,访问键为按钮的选中提供了一种快捷方式,即同时按下ALT键和访问键等同于鼠标单击该按钮。热键可以提高键盘操作的速度。 使用按钮的Caption属性赋予按钮一个访问键。在标题中,在想要指定为访问键的字符前加一个“&”符号,该字符就会带有一个下划线。比如:&Next,&Last,命令按钮的事件,最常用的就是命令按钮的Click()事件 事件例子见48页,例题4-1,通过按钮控制窗体最大化和正常尺寸显示。 注意按钮不支持双击事件(dblClick),命令按钮的响应,使用CommandButton控件创建,只要用户单击按 钮,就会调用Click事件过程 程序执行有以下方法选中命令按钮: 鼠标单击按钮 用Tab键把焦点移到按钮上,按空格或回车键 使用按钮的快捷键(Alt+有下划线的字母) Caption属性的快捷字符前插入符号“&” 在程序代码中设置按钮的Value属性为True 在代码中直接调用按钮的Click事件,默认的命令按钮,设置按钮的Default属性为True, 直接使用Enter键即可选中(总是为默认选中的按钮,当窗口中有其他控件时才生效,增加一个文本框试试看) 设置按钮的Cancel属性为True, 用Esc键选中,命令按钮示例1,【例】有四个按钮,三个表示3种颜色,1个“退出”,点击其中一个颜色键,使窗体背景色发生相应变化,然后给每个键设置快速访问键,看效果;另外设一下缺省命令按钮和缺省取消按钮。 界面元素组成: 命令按钮控件:Command1 编写Click事件过程(双击按钮即可进入代码窗口) Private Sub Command1_Click() me.backcolor = vbRed End Sub,命令按钮示例2,【例】在窗体上添加一个按钮,实现窗口的最大化和还原。 习题思路:1. 通过按钮点击事件判断按钮标题名 2. 设置窗体显示状态,并且重新设置按钮标题名为相反操作,命令按钮示例2,设计一个命令按钮,命名为cmdSize (窗体的MaxButton 和MinButton属性均设置为False) : 在窗口第一次显示时,按钮标题为“最大化(&L)” 。 点击按钮后将窗口最大化,并且标题变成“还原(&B)”。 Private Sub cmdSize_Click() If cmdSize.Caption = “最大化(&L)“ Then Me.WindowState = vbMaximized cmdSize.Caption = “还原(&B)“ Else Me.WindowState = vbNormal cmdSize.Caption = “最大化(&L)“ End If End Sub,二、标签控件(Label),标签的用途,作用:1. 标签Label控件用来标示文本域内容,2.用来输出文本。当用于标示文本域内容时,经常和文本域一起使用;当用于第二种用途时,用户可以先设置其初始内容,然后根据需要,可以通过代码显示新内容。,用于输出文本的标签属性,Caption属性长度最长可以设置为1024个字节 Alignment属性:控制Label控件中的文本位置。有:左对齐(0),居中(1),右对齐 需要多行输出时,可用Vbcrlf常量,或合并chr(11) & chr(13)字符的办法。,用于标识文本域时的属性,文本域可以快捷访问么? UseMnemonic 属性:使标签可以为文本域设置快捷访问键 在标签的标题名中加上 “&”符 保证输入框的TabIndex属性 要比对应标签的TabIndex大1,例子:教师信息登记,比如图中可输入教师信息,其中标签有两种用途: 标签可以放在它们前面作为输入提示 快捷访问键:鼠标可以直接将光标放在某个文本框上,但使用键盘有时更快捷些。比如键盘Alt+P可以直接将光标移到电话输入框中。,标签控件的其他属性,可以用来显示文本, 或用作其它控件的标识 Autosize,为True,可自动水平适应长度 WordWrap,为True,可自动换行显示,前提是Autosize为True BackStyle, BorderStyle 背景透明, 边框样式,AutoSize和WordWrap,当初始宽度无法满足标题名文本长度时,自动改变大小。 当AutoSize取值为True时,WordWrap属性才有效;WordWrap为True时文本自动卷绕换行。,三、文本域控件(TextBox),文本框控件,文本框TextBox控件用来输入和显示文本,并允许用户编辑其中的文本,我用来输入内容哦,文本框控件TextBox,程序运行时,通常使用TextBox控件让用户输入数据。 文本框中所看到的数据就是Text属性中存放的字符串。 Text属性:Text属性包含输入到TextBox控件中的文本。缺省时,文本框中输入的字符为单行,最多达2048个。若将控件的MultiLine属性设置为True,则可输入多达32K的文本。 Text属性是文本框的缺省属性,访问时可以省略书写。比如要指定或读取文本框内容: Text1.Text = “欢迎” 或者 Text1 = “欢迎” Form1.Print Text1.Text,文本框TextBox的重要属性,Text,文本框文字 MultiLine,允许多行 (true/false) ScrollBars,带滚动条 (无/水平/垂直/都有) PasswordChar,密码显示符号 MaxLength,允许输入最大字符数 Locked,运行状态下只读 SelStart,文本串内插入点(光标)位置 SelLength,选中文本宽度 SelText,返回当前选中的文本,如果对此属性重新赋值的话意味着插入该值到光标所在位置,TextBox控件的显示效果,支持多行:MultiLine属性为True 支持水平和垂直滚动条:指定ScrollBar属性,TextBox控件的文本,文本中的回车换行,则 使用chr(13)和 chr(10)或VB常量vbCrLf 比如: Text1.Text = “Youre” & chr(13) & chr(10) & “right” 文本中出现引号,则 Text1.Text=”He said: ” ”How do you do ” ” ” 或用chr(34),TextBox控件示例1,【例】编写一个修改用户密码的程序,首先判断原始用户名和密码的正确性,然后输入两次新密码,两次新密码相同才能生效。(设置密码文本框的PasswordChar为*),编程思路: 先要检查用户名和密码是不是正确 如果上个步骤通过,在检查两次密码输入是否一致 * 通过if条件结构实现。,TextBox控件示例1,【确定】按钮的事件过程如下: Private Sub cmdOK_Click() 首先检查正确用户名和密码 If txtUserName.Text = “admin“ And txtPassword.Text = “admin“ Then If txtNewPwd1.Text = txtNewPwd2.Text Then (修改密码(文件或数据库)的代码放在此处) MsgBox “密码修改成功!“, , “修改密码“ Unload Me Else MsgBox “新密码输入有误,请重试!“, , “修改密码“ txtNewPwd2.SetFocus End If Else MsgBox “用户名或密码无效,请重试!“, , “修改密码“ txtUserName.SetFocus End If End Sub,TextBox控件示例1,【取消】按钮的事件过程如下: Private Sub cmdCancel_Click() Unload Me End Sub,常用事件和选定文本属性,常用事件 Change事件 KeyPress事件 Validate事件 选定文本属性,通过VB解决问题的方法,通过VB解决问题的方法 1. 思考问题,分析问题 2. 总结一个编程思路,设计编码的步骤 3. 设计程序界面,编码 4. 总结问题解决思路,用于其他同类问题解决活动。,TextBox控件的Change事件,通过任意方式造成文本框Text属性的变化,就会引发Change事件。 事件名: 文本域对象_Change() Text1_Change() 注意:在文本域中输入、改写、删除等操作都会触发此事件。,TextBox控件示例2,【例】编写程序输入语文、数学、外语三门功课的成绩,要求输入的同时计算平均成绩并输出,即一边输入一边计算。 编程思路:在输入或修改单科成绩的同时计算平均分,即在语文、数学和英语文本框的内容发生改变时就要立即重新计算平均分,并用计算结果修改平均成绩框的Text属性。因此需要编写这三个文本框的Change事件过程。,程序代码(只是语文成绩输入时),代码如下: Private Sub txtChinese_Change() Dim sum As Double 用于计算总分 sum = 0 If txtChinese.text “ Then sum = sum + Val(txtChinese.Text) If txtMath.text “ Then sum = sum + Val(txtMath.Text) If txtEnglish.text “ Then sum = sum + Val(txtEnglish.Text) txtAvg = sum / 3 End Sub,代码说明,1.Sum变量来统计总分, 2.由于每个文本框输入都要重新计算,所以要有个Sum=0重新计算 2.VB中表示不相等的符合为 ” 3.因为文本框中存放的是字符串,不是可以计算的数字,所以需要使用Val函数转换为数字。,TextBox控件的KeyPress事件,在文本框中点击键盘上按键,就会引发它的Key_Press()事件。 事件名: 文本域对象_keyPress(KeyAscii) Text1_KeyPress() 注意:在文本域中点击键盘触发此事件。,TextBox控件-控制输入字符,有时对输入的字符类型有特殊要求。比如只允许输入数字,如果输入了其它字符应忽略。 思路:可用文本框的KeyPress事件限制或转换输入的字符。 【例】为上例增加功能,来限定文本框仅接受数字字符。,代码例子(数学成绩输入),Private Sub txtMath_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc(“0“) To Asc(“9“) Case vbKeyBack Case Asc(“.“) 以上为正确字符,不做任何处理 Case Else KeyAscii = 0 取消字符 Beep 发出提示音 End Select End Sub,代码说明,1.条件为四种: 1). 0-9的数字 2). “.”输入小数点, 3). 可以输入退格键 4). 其他情况(为非数字格式的情况) 前三种允许,其他情况不让输入 2. 通过KeyAscii=0,可使已键入的字符无效;同时系统发出“滴”的一声。,TextBox控件的Validate事件,当焦点要离开文本框时,将要触发此事件 前提:CauseValidate属性要设成True(缺省值) 事件名: 文本域对象_Validate(Cancel) Text1_Validate() Cancel表示是否要取消焦点的移动,如果为true则不会引发LostFocus事件 注意:可以对于数据内容进行验证,如果满足,可以离开焦点,不满足把Cancel属性设成True,使文本框焦点无法转移。,TextBox控件-检验输入内容,用户输入了有效的键,但还要判输入值是否在有效范围 如:例如成绩的输入不能为小于0或大于100的分数(百分制) 见代码: Private Sub txtScore_Validate(Cancel As Boolean) If Val(txtScore.Text) 100 or Val(txtScore.Text) 0 Then MsgBox “Invalid data!“ Cancel = true End If End Sub,选定文本的系列属性,所有Windows中的文本框控件都有共同的特点;就是可以选择所有文本或部分文本进行剪切、复制或其它操作,选中的文本以突出颜色显示。,TextBox控件中的选中文本,SelStart属性:Long型整数,用来指定选定文本块的起始位置。如果没有选定的文本,则该属性指定插入点(编辑光标)的位置。 SelLength属性:Long型整数,指定所选的文本块的字符个数。任何情况下,一旦给SelLength属性设置一个大于0的值n,则会自动选中并突出显示从当前插入点(SelStart属性指定值)开始的n个字符。 SelText属性:是一个字符串,即选定的字符。如果没有字符被选定的话,就是空字符串。如果程序中对SelText赋值新的字符串,则该字符串将替换文本框中原选定的文本。,TextBox控件选中文本示例,通过设置SelStart和SelLength属性,可控制文本的选择。例如我们在数据录入程序中,用户经常会希望光标置于已有文本的尾部,或者在重新录入某项数据可能希望新的输入替换原有数据。 【例】对于分数输入的程序,在每个输入框重新获得焦点时,将原来文本框中输入的数据全部选中,以便于替换或修改。 代码如下: Private Sub txtScore_GotFocus(Index As Integer) txtScore(Index).SelStart = 0 txtScore(Index).SelLength = Len(txtScore(Index) End Sub,课后作业,书上 2,3,4题 习题思考,看书上的常用事件部分,另外理解例题4-3,思考课后题2,整出一个编程思路,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!