网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.怎样在VB中控制Word.
.如何取得汉字的区位码.
.使用VB实现所见即所得功能.
.用VB6编写强力的windows隐藏引擎.
.在你的应用程序里实现简单的加密.
.用VB实现队列播放MP3.
.利用IE控件访问Internet.
.Access下如何使用通用对话框.
.VBScript变量.
.用VisualBasic开发数据库浏览器.
.用DAO或ADO正确访问Access2000.
.VB环境下压缩数据流播放技术.
.VB的坐标系统综述.
.VB技巧-工具栏使用技巧.
.在VB中制作单独程序封面的两种方.
.跟我学做记事本.
.函数名巧做局部变量.
.VisualBasic窗体背景花纹的实现.
.用WinSock设计Chat程序.
.如何对字符串进行加密解密.

VB入门教程之四

发表日期:2006-2-27


第四章 按钮(一)

  从本章开始我们将正式进入VB的编程世界,但这还仅仅是个开端,要编出功能强大的软件,还要学很多东西,那就要看以后的VB高级教程了,我也得努力学啊!

  按钮是我们在Windows操作见到最多的控件,它们有着各种各样的功能:“确认”、“取消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什么不同,所有的按钮都是通过单击(click)事件实现的,只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱的CommandButton,将在窗体上建立一个形如图4-1的按钮,它的缺省名(Name属性)为Command1,我们可以把它改名为cmdExit,把Caption属性设为“退出”,然后双击,按钮填写代码:

  PrivateSubcmdExit_Click()

UnloadMe

  EndSub

  按下F5或者工具条上的播放按钮,运行程序。图4-2当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的Click事件,执行“UnloadMe”语句,使得窗体被卸载。

  上面举了一个比较简单的例子,下面的例子稍微复杂些:

  新建窗体,控件布局如图4-3所示,包括一个List控件,一个Text控件和两个按钮(Command1和Command2), (比较简单的程序我们都采用缺省名),对它们属性做如下修改:

  List1

  Caption=“请输入你的名字”

  Text1

  Text=“”(空字符串)

  Button1

  Caption=“复原”

  Enabled=False

  Button2

  Caption=“清除”

  把使用Button1的Enabled属性设为False(假),是使程序在初始时,无法单击Command1。按F5,运行程序,图4-4,复原按钮成为灰色,不可选。

  当然现在程序还什么也不能做,下面我们在程序中添加代码:

首先在General里声明全局变量:

  DimStoreStringAsString'用来储存字符串

  ※注意:为什么用全局变量?

  VB里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的全局变量是用来在过程中传递字符串。

  接着填写以下代码:

  PrivateSubCommand1_Click()

  Text1.Text=StoreString

Command1.Enabled=False

  EndSub

  PrivateSubCommand2_Click()

  StoreString=Text1.Text

Text1.Text=""'清除

  Command1.Enabled=True

  EndSub

  运行程序,如图4-5。按下“清除”,文本框被清除,按下“复原”,文本有被恢复,许多程序中的Undo/Redo就是利用这个原理实现的,现在知道为什么内存越多越好了吧。

  我们在把程序修改一下,把Button2删除,Button1的Enabled属性改为True,Caption改为“清除”,填写代码:

  PrivateSubCommand1_Click()

  IfCommand1.Caption="清除"Then

  StoreString=Text1.Text

Text1.Text=""'清除

  Command1.Caption="复原"

  Else

  Text1.Text=StoreString

  Command1.Caption="清除"

  EndIf

  EndSub

  同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。


  下面的例子要更加复杂些,大家一定都用过Windows附件中的计算器,它是一个标准的科学计算器,利用VB我们也可以做到,只是没有那么复杂,四则运算而已。

  先建立一个新的项目文件,里面包含一个Form1的窗体。然后,添加控件,包括一个Text框(Text1),和17个按钮,这17个按钮使用的名称都是Command1,只是Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后在Command1上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴(Paste),系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立17个按钮为止。各控件属性如下表:

  Text1

  BackColor=&H00C0FFFF&

  Text=“0.”

  Command1

  Index0DD16

  Index0DD9Caption=“0”-“9”

  Index10Caption=“.”

  Index11Caption=“=”

  Index12Caption=“ ”

  Index13Caption=“-”

  Index14Caption=“×”

  Index15Caption=“÷”

  Index16Caption=“清除”

  如果想改变一些其他的属性,比如字体,可以自己定义一下Font属性,如果相对多个控件的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的共同属性进行修改。

  别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方很绕弯子,我尽量解释清楚。

  在编写程序之前,我们先来回顾一下计算器的使用。

  按下数字键在液晶屏上会出现数字,这是最基本的功能。

  第一次按下运算键,再按下数字键,将重新输入第二个数字,再次按下运算键,将算出前两个数的结果,然后按下数字键,将又重新输入新的数字。

  输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下“等于”,将得到二者的结果。然后又重复第二、三步。

  按下“清除”,数据被全部清除。

  了解了这些,我们一步一步实现。

  先实现数据的输入,请看代码。

  与未创立组的控件相比,它的事件里多了Index参数,组里所有的对象都使用同一个事件。

  先在General里声明窗体级全局变量:

  DimNum1,Num2AsSingle

  DimStrNum1,StrNum2AsString

  DimFirstNumAsBoolean'判断是否是数字开头

  因为Text1里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实型变量,分别用Num1、Num2和StrNum1、StrNum2进行存放。

  在Form_Load事件里给变量初赋值:

  Num1=0

  Num2=0

  StrNum1=""

  StrNum2=""

  FirstNum=True

  因为17个按钮使用的是同一事件,所以我们用一个SelectCase语句区分各个按钮,双击任意按钮输入代码:

  PrivateSubCommand1_Click(IndexAsInteger)

  SelectCaseIndex

  Case0To9

  IfFirstNumThen

  StrNum1=Str(Index)’实型转字符型

  FirstNum=False’初赋值为假

  Else’非初赋值

  StrNum1=StrNum1 Str(Index)

  EndIf

  Text1.Text=StrNum1’显示

  <还有其他语句,等待插入>

  EndSelect

  EndSub

  运行程序的话已经可以输入数据,下面我们来处理小数点。

  在General里声明新的变量:

  DimPointFlagAsBoolean'判断是否已有小数点

  我们知道小数点只能输入一次,一个数据中不能有多个小数点存在,所以需要一个布尔变量做判断。

  在Form_Load里进行初赋值:

  PointFlag=False

  在Command的单击事件里接着上面输入新的代码:

  Case10

  IfNotPointFlagThen’如果没有小数点

  IfFirstNumThen’如果是第一个字符

  StrNum1="0."

  FirstNum=False

  Else

  StrNum1=StrNum1 "."

  EndIf

  Else’已有小数点

  ExitSub’则退出单击事件

  EndIf

  PointFlag=True

  Text1.Text=StrNum1

->

上一篇:VB入门教程之三 人气:4397
下一篇:在VB中用DAO实现数据库编程 人气:4929
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐