1、Visual Basic程序设计及应用,主讲教师:唐大仕 ,北京大学课程,有关事项,参考书 Visual Basic 程序设计, 唐大仕,清华大学出版社,2003(丛书主编:卢湘鸿) Visual Basic 程序设计题解与上机指导 唐大仕,清华大学出版社,2003,教学网站 校内:http:/ 备份:http:/ 与唐大仕老师联系 QQ:351116463 上机 时间星期四9-10节, 地点3、5、6号机房,课程要求,不迟到、不旷课 完成参考资料的阅读、练习等课后任务 按时交作业,1 序论,程序与语言的概念,为什么要学习程序设计 软件=程序+文档 程序:指令的序列 语言 汇编语言 asm
2、: 用助记符来表示计算指令 高级语言 c, pascal, fortran, 用表达式来表示计算 用过程来表示流程 面向对象的语言 c+, java,vb 用对象来表示实现世界 每个对象有自己的属性、功能、能与外界交互,Visual Basic简介,一种程序设计环境 一种程序设计语言 具有广泛的用途,VB 快速入门 单击右击双击,设计与运行,界面设计 (插入对象,设其属性)(对象窗) 代码设计 (双击对象,填写代码)(代码窗) 运行 按F5(或点“启动”按钮)示例:按钮信息,示例:按钮信息,在程序中书写: MsgBox “Hello!“ 编程提示: 要用西文标点、空格 单击“启动”按钮才会运行
3、 单击“结束”按钮才可以进一步修改,保存,保存 窗体文件.frm 工程文件.vbp 其他辅助文件 编程提示: 文件应保存在自已的文件夹中,不要放在VB98下 下次打开这个程序,只需双击.vbp文件即可 每一个程序都要单独建一个工程 每个程序放在单独的文件夹中 交作业时,将文件夹中的所有文件压缩成一个文件,编译,编译 编译就是将源程序转成可执行程序的过程 怎样编译 文件生成xxxxx.exe文件 编程提示: exe是交给最终用户的,编程者不需要它,一些典型应用,一些专题知识,自己设计一个屏幕保护程序; 自己设计一个多媒体播放器; 自己设计一个小游戏; 信息安全与密码问题; 软件工程,程序漏洞的原
4、因; 信息管理系统; 网上信息交流,聊天,游戏的原理; 电子商务的基本构成方式; 计算机智能及其局限性; 分形图形与计算机艺术; 等等。,课程目标,1. 程序 以Visual Basic为工具 掌握程序设计的基本概念和基本方法 具备使用程序来解决一些实际问题的能力 2. 应用 通过程序来提高Word、Excel、网页制作等常用软件的应用能力 了解病毒防护、数据加密、企业信息化、电子政务、人工智能、数字艺术等专题知识 以简明的程序来介绍,不是十分注重编程技巧技术,而是重在理解其本质。,VB程序设计环境,工程窗口 对象窗口 代码窗 属性窗 工具箱,注意区分三种状态,设计状态 运行状态 中断状态,小
5、结,程序、软件与语言 Visual Basic是一种高级语言 设计 界面设计 代码设计 运行 保存 编译,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,2 VB程序设计的核心概念,VB中的对象,属性(property) 对象的状态,用名词、形容词表示 方法 (method) 对象的动作或功能,用动词表示 事件 (event) 对象与外界的交互,属性的书写,对象.属性 Command1.Caption = “xxxxx” Text1.ForeColor = vbRed Me.BackColor = RGB( 255, 0, 0 ) 注:Me表示窗体 Me.BackColor
6、=RGB( Rnd*255, Rnd*255, Rnd*255) 注:Rnd表示随机数(范围0到1之间,不包括1) 注意用等号,方法的书写,对象.方法 Command1.Move 1000,500 Me.Print “Hello“注意:属性和方法都可以智能提示 若没有提示,经常都因为写错了对象名 写错了对象名,运行时会提示“需要对象” 可以用Me.来正确地书写对象名,事件的书写,Private Sub 对象名_事件名( ) 写书代码 End Sub一般不用手工书写 可直接在代码窗的顶部选择对象名及事件名 事件驱动 示例 :MouseMove事件 参见文件event_drive.frm Me.C
7、aption = x & “,“ & y 注意:& 表示连接,& 前后需要一个空格,示例:事件改变属性,改变字体、大小、颜色注意: = 表示赋值 a= a+1,进一步理解对象,对象命名,对象名 对象名(Name)与文字(Caption/Text)不同 窗体名.控件名,匈牙利命名法,对象命名的惯例:匈牙利命名法 前缀(表类型) + 单词(表意义) 例: btnSayHello btnOk cmdOk,特殊对象名,事先定义好的对象Me, Screen, Printer , App, Debug 注:Me表示当前窗体 Me.可省略 Me.Left = (Screen.Width- Me.Width)
8、/2操作技巧: Ctrl+J 快速提示 vbXxxxxF2 对象浏览,几种常用对象,按钮 CommandButton 前缀btn 标签 Label lbl 文本框 TextBox txt 图片框 PictureBox pic注:如果要在按钮上加图片必须首先设设Style然后再设Picture,DownPicture,常见的属性,Name ForeColor, BackColor FontSize FontName Top Left Width Height Caption/ Picture/ Text / Value Visiable Enabled,默认属性,对象有一个默认属性(属性值) 如
9、:Label的Caption, Text的Text 如: Text1.Text = “可写为 Text1 = “,常见的方法,Move (适用于各种控件) Print (适用于窗体及图片框) Show / Hide (适用于窗体),常见的事件,有关Mouse, keyboard, 有关选择,文字改变,事件驱动编程,对象之间的相互作用 示例:两个文本框显示同样的文本 文本框的change事件 跳动的小球 Shape形状对象: Shape FillColor FillStyle Timer计时器对象: Interval Shape1.Left = Shape1.Left + Rnd*1000-50
10、0 Me.Caption = Now Form_Load事件 变色的彩灯 Shape1.FillColor,使用帮助,按F1键 进入MSDN(要求安装了MSDN) 使用网络上的MSDN 进入 http:/ 选 Library Development Tools and Languages Visual Studio 6.0 Visual Basic 6.0 按F2键 进入对象浏览窗口 按Ctrl+J 键 进入快速提示 使用vb5的中文帮助,可从教学网上下载,网络上的资源,国内 http:/ http:/ http:/ http:/ 国外 http:/ http:/www.vb- http:/w
11、ww.planet-source- 使用搜索引擎 讨论区, 上的VB讨论区,小结,Visual Basic程序设计语言 是一种面向对象的高级语言 Visual Basic程序设计环境 是一种易用的、集成化的、可视化编程环境 Visual Basic程序设计核心概念 对象:属性、方法、事件 事件驱动编程,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,数据与运算,数据:常量与变量 数据的类型 Me.Height = 3000 数值 Command1.Caption = “Press Me“ 文字 Label1.Visible = False 逻辑 Me.Print No
12、w 日期时间 不同的类型: 数据的含义不同 数据的运算不同 数据的存储方式不同,数据类型,类型 占字节数整型 Integer 2 ( 范围 -3276832767) 长整型 Long 4 单精度 Single 4 双精度 Double 8。,数据类型(续),逻辑型 Boolean 2 值能为 True 或 False 日期型 Date 8 字符串型 String 变体型 Variant 对象型 Object,变量,变量的含义 变量的名字 用字母、数字、下划线构成 不能用数字开头,变量的定义,隐式定义 不定义而直接赋值 显式定义使用DIM 例 Dim age As Integer Dim iCo
13、unt% As Integer, salary As Double Dim studentName As String,字面常量的书写,整数、实数 类似于数学中的写法如 123 -45 123.45 2.3E-5 4#十六进制 &H0027D9 长整数 1234& 日期 #9:21:30 PM# #7/21/99# 逻辑 True False 字符 “Hello“ “A“ “,符号常量,Const PI As Double =3.14,运算符,算术运算 +(加) - (减) *(乘) /(除) (整除) mod(取余)(乘方) 字符串连接 & + 关系运算 = 逻辑运算 And Or Not,
14、表达式,表达式举例:参 表达式.txt,运算符的优先级,优先级(从高到低): 算术运算 (其中 */ +- ) 关系运算 ( = ) 逻辑运算 (其中NotAndOr) 用圆括号,程序的基本任务,输入处理输出 示例:圆的面积 Dim r As Double, area As Double Const Pi As Double = 3.14 r = InputBox(“请输入半径“) area = Pi * r * r MsgBox “半径为“ & r & “的圆的面积是“ & area 注意:要定义变量,关于数据类型的几个细节,类型的不严格 如 Me.Caption = Now() 如 r =
15、 Text1.Text 精度问题 如 i = 5.6 i=5.5 i=5.4,示例,求解一元二次方程 用文本框来表示输入、输出 用按钮来表示命令 对象名一定要写正确 注意公式中用Sqr表平方根,注意圆括号,数学函数,Rnd Int(Rnd * 9) + 1 注:Randomize 表示随机初始化 Sqr,Abs 平方根,绝对值 Sin, Cos 正弦、余弦(弧度作单位) Log, Exp 自然对数、指数 Int 取整(不超过它的最大整数) 示例: rnd_luckynum Rnd_投针 Sqr_triangle_area,字符串函数,Len 求长度 LTrim, RTrim, Trim 去空格
16、 UCase, LCase 大写、小写 Left, Right, Mid 左边、右边、中间 InStr 在字符串的子串位置 Asc, Chr, String 求ASCII码、转字符、重复字符,日期函数,Date, Time, Now 当前日期、时间、 Year, Month, Day, Weekday 求年、月等 Hour, Minute, Second 求时、分、秒,转换及判断,CInt, CLng, CDbl, CDate, CStr 转成相应的类型 Str, Val 转成字符串,转成数字 Hex, Oct 转成十六进制,八进制 Format Format( Now(), “hh:mm:s
17、s“ ) Format( 3.14, “#,#.000“ ) IsNumeric, IsDate 是否为数字、为日期,重要函数列表,I/O: MsgBox InputBox Beep 数学: Rnd Abs Int Sqr Sin Cos Log Exp 字符串: Len LTrim RTrim Trim UCaseMid Left Right InStr Chr Asc 日期: Date Time NowYear Month Day 转换判断 CInt Val Format IsDate IsNumeric,小专题:VB的函数与Excel函数,+ - * / Mod And Or Not R
18、nd Abs Int Sqr Sin Cos Log Exp Len LTrim RTrim Trim UCase LCase Mid Left Right InStr Chr Asc Date Now Year Month Day CInt Val Format IsDate IsNumeric,+ - * / Mod() And() Or() Not() Rand Abs Int Sqrt Sin Cos Log Exp Len LTrim RTrim Trim Upper Lower Mid Left Right Find Char Code Today Now Year Month D
19、ay Int Value Format IsDate IsNumber,Excel函数举例,在学生名单表中 排序字段 =MID(A2,4,2)& “_“ & A2 随机选择 =INDEX(A2:A161, RAND()*161+1 ) 查找 =VLOOKUP(D2,A2:B161,2,FALSE),小结,数据类型 常量与变量 运算符 常用函数,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,4 语句与分支控制,VB语言,程序设计语言的两个重要方面: 数据 控制,简单语句,简单语句 一句一行 多句同行 (用: ) 一句跨多行(用 _ ),注释,对程序的执行没有影响 用单引号开
20、始,直到行尾 注释的用途: 对一段程序 对一些变量 对一些算法,赋值语句 =,示例: a=a+1 示例: 移动的小球 示例:交换两变量值,输入与输出,程序的基本过程: 输入处理输出 输入输出的常见方法: 使用控件进行 输入(如TextBox) 输出(如Label) 使用InputBox, MsgBox 使用Print表示输出,Print的使用,Print 换行 不换行(,或;) 示例:圆的面积 方法 Print, cls , 与; 示例: a *b = c,If条件语句,两种写法: 同一行:If 条件 Then Else 多行: If 条件 Then ElseEnd If,示例,示例:小球移动
21、,但不出边界 要点1:使用变量 要点2:使用If 示例:闰年 y Mod 400 = 0 Or y Mod 100 0 And y Mod 4 = 0 要点1:使用Mod 要点2:使用And 及 Or,条件语句嵌套,条件语句的嵌套 示例:性别,年龄的判断 示例: 判断圆的半径编程提示: 使用Tab键正确地缩进,ElseIf,示例:分数的判断 示例:所得税的计算,Select Case,Select case 表达式case 常量。case 常量。case else.End Select 示例: 分数,示例: 自动出题及判分,If 及 Select Case的使用 变量的使用 注意,a,b,op
22、三个变量是放到最前面的 (不在Sub内,被称为窗体级变量) 随机数的使用 Rnd Randomize 随机数初始化,一般在Form_Load中 据Rnd的数值来表示不同的字符,如+-/,IIF函数,IIf(条件, 式1, 式2 ) 例如: M = IIf( ab, a, b ) z = IIf( a1, “小”, IIf( a=1, “等”, “大”) ),小专题:关于随机数,伪随机数 线性同余算法 Xn+1 = (Xn * a + c ) mod m, 其中m0称为模数,0 a m称为乘数,0c m称为增量,0X0m称为初始值或种子 如 X = ( X * 123 + 59 ) mod 65
23、535 如 X = ( X * 2053 + 13849 ) mod 65535 如 a取 69069或 1664525(即&H19660D),Java语言中用的公式,synchronized public void setSeed(long seed) this.seed = (seed 0x5DEECE66DL) Donald Knuth, The Art of Computer Programming, Volume 2, Section 3.2.1.,C语言中用的公式,unsigned long int next = 1; int rand(void)next = next * 110
24、3515245 + 12345;return (unsigned int)(next/65536) % 32768; void srand(unsigned int seed)next = seed;,生成标准正态分布的随机数,产生方法很多。 近似方法(利用中心极限定理) 即用 个 变量产生一个 变量。 其中 是抽自 的随机数, 可近似为一 个 变量。 简单地说:6个均匀分布的随机数的平均值是一个正态分布的随机数,蒲丰氏(Buffon)问题,如果针的长度是平行间的距离的一半,则: Pi = 总数 / 相交的针,针在平行线间的位置,蒙特卡罗(Monte Carlo)方法,蒙特卡洛方法是一种应用随
25、机数来进行计算机模拟的方法此方法对研究的系统进行随机观察抽样,通过对样本值的观察统计,求得所研究系统的某些参数 蒙特卡罗方法的主要应用范围包括:粒子输运问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面。随着科学技术的发展,其应用范围将更加广泛。 蒙特卡罗方法在粒子输运问题中的应用范围主要包括:实验核物理,反应堆物理,高能物理等方面。 蒙特卡罗方法在实验核物理中的应用范围主要包括:通量及反应率,中子探测效率,光子探测效率,光子能量沉积谱及响应函数,气体正比计数管反冲质子谱,多次散射与通量衰减修正等方面。,在我们所生活的世界上,充满了不确定性,小结,简单语句 输入及输出
26、If/ElseIf语句 Select Case语句,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,5 循环语句、绘图,三种控制结构,为什么要有循环 程序的三种控制结构 顺序 分支(选择) 循环,程序流程图,流程线 开始与结束 任务及子任务 输入与输出 条件判断,For语句,For v=1 To 100 Step 2 Next 其中 Step 1可以省略,使用 For语句,示例 显示1-100 画同心圆 1+2+100 1*1+2*2 +.+100*100 63+693,Do Loop,Do While 条件。 Loop 示例:角谷猜想,Do 循环的几种写法,Do Whil
27、e 条件 (或:Until条件)。 Loop Do。(至少执行一次循环) Loop While 条件 (或:Until条件)While 条件 。 Wend,循环的五要素,初始化 循环条件 循环动作 循环改变 结束后处理,理解循环,1变量 5要素 3典型 几种循环的比较,绘图,在哪里绘图: 在窗体上 如: Me.Circle (1000,1000),300 在PictureBox上 如: Picture1.Circle (1,1),1,单位及比例尺,比例尺.ScaleMode=vbTwips 1/1440 inch=vbPixels 像素Scale (-50,50)-(50,-50)ScaleL
28、eft ScaleTop ScaleWidth ScaleHeight,Scale (-50,50)-(50,-50),绘图状态,CurrentX=100, CurrentY=100 ForeColor BackColor DrawWidth DrawStyle FillColor FillStyle DrawMode (决定最终颜色与当前画笔颜色、背景颜色的关系) =vbCopyPen, =vbXorPen FontFontSize, FontName,FontBold, FontItalic,绘图方法,Line (x,y)-(x,y), color, BF 其中B表示画框、BF表示画填充的
29、矩形 Circle (x,y), r, color Circle (x,y), r, color, start, end, aspect PSet (x,y), color Print “.“ Cls 清屏 示例:draw_Simple_0.frm,绘图示例,函数图 螺线 画极坐标图 旋转的椭圆 编程提示: Form_Load中绘图,先Me.Show,上机注意事项,1.关于文件 2.关于图片 3.关于内容 4.关于书写,循环出口语句,Exit For 示例: 判断质数 Exit Do 其他几个相关的语句: Exit Sub 退出此段Sub子程序 End 结束整个程序 Stop 停止执行,进入中
30、断状态,循环的嵌套,示例 画图(多张饼) 1! +2! +. +10! 九九乘法表 2-100以内的角谷猜想 内外循环的关系 每重循环的控制变量 控制变量间的关系,循环的应用(了解),数列求和: -递推法 1! + 2! +. + 10! 2+22+222+ Exp_sum Pi/2 Pi/4,循环的应用,字符串加密,附:关于密码与加密,口令(password) 原则:自己易记、他人难猜、经常更改 技巧:不与自己直接相关,而是间接相关 并且不能太短,字母、数字、符号混合 在公共场合使用口令要谨慎 不能让IE记住口令 注意防护: 一些口令破解软件, 如Advanced Pdf password
31、covery 如Rar Password Cracker, Passware 防止木马,口令使用经验谈,不要使用本人的生日、身份证件号码、银行账户中的前几位、后几位或姓名的拼音作为密码。 不要将密码设置为相同的数字或字母,尽量使用数字与字母的组合构成密码 不要将密码设置为有顺序的数字或字母 不要将网上银行“登录密码”和“交易密码”设置成相同的密码 在任何情况下不能将密码漏给他人,包括银行工作人员 在使用网上银行时,最好不要直接用键盘输入密码,而用“密码软键盘”输入密码,常见的安全措施正确使用网银,常见方式“钓鱼” “钓鱼”之一:电子邮件 “钓鱼”之二:盗号木马 “钓鱼”之三:网址欺骗 防钓鱼
32、直接输入域名 用密码软键盘 加密交易信息 使用加密控件,使用密码U盘,使用https协议 同样,防止短信诈骗,加密技术,加密技术:把信息转换成一种不可读或不可理解的形式,解密技术,四种传统加密方法,1代码加密 2替换加密 3变位加密 4一次性密码簿加密,对称密码术(单一密钥),加密算法:CHARACTER+3,AF计划,接收者,发送者,DES算法,DES是对称密钥加密的算法, DES算法大致可以分成四个部分:(1)初始置换(2)迭代过程(3)逆置换和(4)子密钥生成,DES加密原理示意图,非对称密码术,公共密钥,私有密钥,我,其他人,RSA算法,RSA算法是非对称密钥加密,其算法演算过程 (1
33、)密钥配制过程 (2)加密 (3)解密,RSA举例,取两个质数p=11,q=13, p和q的乘积为n=pq=143, 算出另一个数z=(p-1)(q-1)=120; 再选取一个与z=120互质的数,例如e=7, 则公开密钥=(n,e)=(143,7)。 对于这个e值,可以算出其逆:d=103。因为ed=7103=721,满足ed mod z =1;即721 mod 120=1成立。 则秘密密钥=(n,d)=(143,103)。,设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值: c= me mod n=857
34、mod 143=123并发送给李先生。 李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m= cd mod n =123103 mod 143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。,RSA的安全性 就目前的计算机水平用1024位的密钥是安全的,2048位是绝对安全的。RSA实验室认为,512位的n已不够安全,应停止使用,现在的个人需要用668位的n,公司要用1024位的n,极其重要的场合应该用2048位的n。,RSA用于身份验证和数字签名 数字签名必须保证以下3点: 接收者能够核实发送者对报文的签名。 发送者事后不能抵赖对报文的签名。 接收者
35、不能伪造对报文的签名。 现在已有多种实现各种数字方法,但签名的采用公开密钥算法要比常规算法更容易实现。,电子签名,电子签名(比数字签名更广泛的概念) 注:媒体 _vir_fingerprint_F0914.avi 注:电子签名法 注: 中国工商行 usbkey客户证书 注:outlook express 电子邮件加密及签名 注:http:/ 申请免费试用证书保证: 信息除发送方和接收方外不被其它人窃取; 信息在传输过程中不被篡改; 发送方能够通过数字证书来确认接收方的身份; 发送方对于自己的信息不能抵赖。,密钥与密码破译方法,(1)密钥的穷尽搜索 破译密文就是尝试所有可能的密钥组合。虽然大多数
36、的密钥尝试都是失败的,但最终有一个密钥让破译者得到原文,这个过程称为密钥的穷尽搜索。 (2)密码分析 已知明文的破译方法 选定明文的破译方法 (3)其他方法 “窥视”或“偷窃”密钥内容;进行“垃圾分析”;等等,防止密码破译的措施,(1)强壮的加密算法 (2)动态会话密钥 (3)保护关键密钥,小结,控制结构与流程图 For Next语句 Do Loop语句 循环出口语句 循环的嵌套 循环的应用-数列求和,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,6 过程、函数、数组,过程,学习 VB语言: 单词语句篇章使用过程的好处 任务分解 代码重用示例:sub_print100,事
37、件过程与普通过程,事件过程 与某个对象事件相关 过程名为: 对象名_事件名 如: Sub Command1_Click() 如: Sub Form_Load() 普通过程 与事件无关 表示某项任务,过程的定义,Sub 过程名(参数 As 类型,。)。 End Sub,过程的调用,使用Call Call 过程名 (参数值。) 注意,要用括号 或省略Call 过程名 参数值,。注意,不用括号 一个参数时,可用括号,也可不用 示例:画花儿 示例:sub_delay注:second, do loop,函数,函数也是一种子程序 是一种带返回值的过程 内建函数 已由VB定义好,可直接使用 如: CInt(
38、), Int(), Rnd(), Now(),I/O函数,MsgBox 有关按钮图标/有关返回值 MsgBox “hello“, vbInformation InputBox 有关默认值/有关返回值 a = InputBox(“ Please Input a num“, , 99),函数的定义,Function 函数名(参数,。)As 类型。注意:其中有一句 :函数名=某个值 End Function,函数的调用,一般用于表达式: 函数名 (参数值。) 用括号示例: sub_fac_10: 求:1!+2!+10! 求组合数 m!/n!/(m-n)! 100以内的质数,参数的传递,形参与实参 参
39、数的传递顺序 按位置传递,传值与引用,传值 ByVal 传引用 ByRef (缺省为ByRef) 传引用就是传变量本身示例 简单示例 fun_digi2Sum,模块,模块 工程/添加模块 设定启动对象:工程/属性/启动对象 模块中的变量/过程 模块名.过程名 Public 与 Private 过程 过程缺省是Public的,变量的作用域,作用域(可见性) 全程变量 Public 或 Global 窗体级变量 Private 或 Dim 局部变量 Dim 示例,数组,数组的概念 加上下标来决定是哪个变量 定义数组 Dim 数组名(数组大小) As 类型 使用数组 数组名(下标) For Each
40、Next,数组的大小,下标 Dim a(100) 表示0100共101个Dim a( 2 to 9 )Option Base 0 或 1 规定起始值 二维数组 dim c(10,20) Lbound(数组名) 求最小下标 Ubound(数组名) 求最大下标,数组的应用,最大值与平均值 排序 统计 筛法求素数(*) 约瑟夫问题(*) 画金刚石 体育彩票36选7,小结,过程 函数 参数传递 过程中的变量,Visual Basic程序设计,主讲教师:唐大仕 ,北京大学课程,7 控件,界面设计,界面设计的重要性 界面元素 控件 窗体 绘图 菜单 其他,有关控件的使用,怎样得到控件相关的属性、方法与事件
41、: Ctrl_J 快速提示 F1 -MSDN(如果安装了MSDN) F2 -Object Browser 可以参考其他一些资源 光盘,如: 书籍,如: www.vb- (国外,选其中“search”) http:/ http:/ http:/ 对齐方式 0 vbLeftJustify 1 vbRightJustify 2 vbCenter Appearance 0 1:3D AutoSize True False BackColor ForeColor RGB(r,g,b) vbRed vbGreen QBColor(Rnd * 15) 123235& &Hrrggbb&,控件的一般属性(续)
42、,BorderStyle Caption Font xxx.Font.Bold = true xxx.Font.Italic = True xxx.Font.Underline = True xxx.Font.Size = 24 xxx.Font.Name = “宋体“ 或 xxx.FontName = “宋体“ Left Top Width Height,控件的一般属性(续),MousePointer MouseIcon (当MousePointer为99时,设MouseIcon) Picture 设计时: 选择文件 (注意:当程序拷贝到其他机器时,由于图片找不到,则会出问题,所以不推荐这种
43、方式) 粘贴图片 (这时图片信息存于.frx文件中) 运行时: xxx.Picture = LoadPicture(“xxx.jpg”) 注意,图片文件放到同一目录中,要使用扩展名(如.jpg),控件的一般属性(续),ToolTipText UseUnemonic caption中用&表示下划线,如 “&Open“ Visiable: True False Enabled: True False 如Timer1.Enabled = False 如Command1.Enabled = False WordWrap MultiLine,CommandButton 按钮,CaptionStyle,
44、Picture 使之为图片按钮 补充示例:PicButton.frm ToolTipTextEnabled,Label 标签,Caption ToolTipText, AutoSize, WordWrap, Alignment 0 vbLeftJustify 1 vbRightJustify 2 vbCenter 例: Label_mouse_shell_263注:shell “程序名 参数“表示调用外部程序,TextBox 文本框,SelStart, SelLength, SelText, Text MultiLine, ScrollBars PasswordChar “*“ Locked,
45、Enabled SetFocus方法,GotFocus, LostFocus事件 示例:text_sel_password_enter,Frame 框,CaptionBorderStyle框: 容器线成组Visible,CheckBox 及 OptionButton,CheckBox 复选框 Value(1或0或2):vbChecked OptionButton 单选框 Value(True或False) 放到一个Frame经常做成控件数组示例:Checkbox_option.frm,滚动条,HScrollBar, VScrollBarMax, Min, Value,Shape及Line,Sh
46、ape形状 / Line 线Shape / x1,y1,x2,y2BorderStyle, BorderColorBorderWidth FillStyle, FillColor, BackStyle, BackColor,Timer 定时器,TimerInterval, Enabled示例: Timer_Shape_Line_Clock.frm,ListBox 及 ComboList,ListBox 列表框 ComboList 组合框可以认为 ComboList=List + TextStyleMultiSelect List(i), ListCount, ListIndex, Select
47、ed(i), SelCountAddItem, RemoveItem, Clear 方法Combo的Text示例: Combox_list.frm,PictureBox 及 Image,PictureBox 可作容器,可以在上面画图xxx.Picture = LoadPicture(“XXX.jpg“) Image不能作容器, 但可以StretchImage1.Picture = LoadPicture(“XXX.bmp“)示例:跳舞的小女孩 dance_girl补充示例: PicImageHover.frm,多控件的布局,多控件的选定与设置 视图工具栏窗体编辑器 对齐与大小 格式对齐、间距 TabIndex(Tab顺序) 格式顺序 控件的成组 用一个Frame框示例:人员信息_control.frm,