运行效果:

程序代码:
Dim current, prev, choice    '全局变量
'-------------这段代码是个额外加上的小测试可以忽略----------
'---------------用API来关闭正在运行运行的程序---------------
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private Sub CmdEnd_Click()
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "简单计算器")  '此处为程序的Caption值
Debug.Print winHwnd
If winHwnd <> 0 Then
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If RetVal = 0 Then
MsgBox "植入消息错误!"
End If
Else
MsgBox "程序没有打开!"
End If   
End Sub
'------------------这段代码可以删除不影响程序运行-------------------
Private Sub CmdAc_Click()
Text1.Text = ""      '清空输入框
End Sub
Private Sub CmdEquel_Click()             '执行“=”
current = Val(Right(Text1.Text, Len(Text1.Text) - Len(prev) - Len(choice))) '获取后半截数字
If choice = "+" Then
current = prev + current
Text1.Text = Text1.Text & "=" & current
ElseIf choice = "-" Then
current = prev - current
Text1.Text = Text1.Text & "=" & current
ElseIf choice = "*" Then
current = prev * current
Text1.Text = Text1.Text & "=" & current
ElseIf choice = "/" And current <> 0 Then
current = prev / current
Text1.Text = Text1.Text & "=" & current
Else
Text1.Text = "Press AC to Continue"
End If    
End Sub
Private Sub CmdPlus_Click()
prev = Text1.Text
choice = "+"
Text1.Text = Text1.Text & "+"
End Sub
Private Sub CmdMinus_Click()
prev = Text1.Text
choice = "-"
Text1.Text = Text1.Text & "-"
End Sub
Private Sub CmdAsterisk_Click()
prev = Text1.Text
choice = "*"
Text1.Text = Text1.Text & "*"
End Sub
Private Sub CmdSlash_Click()
prev = Text1.Text
choice = "/"
Text1.Text = Text1.Text & "/"
End Sub
Private Sub CmdPoint_Click()
Text1.Text = Text1.Text & "."
End Sub
Private Sub Command1_Click(Index As Integer)
Text1.Text = Text1.Text & Index             '控件数组的Index属性值来输入0-9
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)   '键盘输入值保存到定义好的变量中
Select Case KeyCode
Case 13  '回车
Call CmdEquel_Click
Case 107
prev = Text1.Text
choice = "+"
Case 109
prev = Text1.Text
choice = "-"
Case 106
prev = Text1.Text
choice = "*"
Case 111
prev = Text1.Text
choice = "/"
Case 35     'End键
Call CmdAc_Click
End Select
End Sub
编写心得:
1、这个实例体现了控件数组的优越性,不用每一个按钮去添加0-9数字执行的过程。
2、开头出代码绑定了“End”命令按钮,用API来关闭正在运行的程序,感觉没多大用,就我目前的知识水平,感觉这大段代码的作用等同于“End”,希望在今后的学习中能够了解其更深层次的用法。
3、此处运用了KeyCode键盘代码,附图如下:
附件:源程序下载链接:http://pan.baidu.com/s/1qYrRKTm 密码:xwqn

VB编程:全局变量控件数组实例简单计算器-12相关推荐

  1. 计算机二级vb知识点汇总,计算机等级考试二级VB考点:控件数组

    控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组.控件数组适用于若干个控件执行的操作相似的场合,控件组共享同样的事件过程.下面是小编为大家带来的关于控件数组的知识,欢迎阅读. ...

  2. java控件数组_在C# WinForm程序中创建控件数组及相应的事件处理

    控件数组是VB提供的一个优秀的设计解决方案,它能很方便快捷的处理大批同类控件的响应和时间处理,但不知为什么在C#中这个优秀特性没有传承下来,甚为可惜,本文将要探讨就是如何在C# WinForm程序实现 ...

  3. BCB高手进阶-如何实现控件数组

    BCB高手进阶-如何实现控件数组 ( 在C++Builder中,没有提供像VB中控件数组的功能,很令遗憾.经过一番琢摸,终于解决了这个问题.技巧不敢独享,奉献出来供大家交流. 在VB中,控件数组可以 ...

  4. C#,桌面编程入门(01)——按钮Button属性与事件、动态创建、快捷键、控件数组及自定义Button

    本文是<桌面编程入门>系列文章的开山之篇. <桌面编程入门>系列文章主要介绍桌面编程的各种组件,Button,ComboBox,Panel,WebBrowser...... 类 ...

  5. 学习笔记:VB.net动态添加控件数组并传递事件

    学习笔记:VB.net动态添加控件数组并传递事件 控件数组和事件 "中间人" 动态添加控件 控件数组和事件 新建一个用户窗体,在定义控件数组时,不能用Withevnets来定义数组 ...

  6. listview控件在php的使用方法,Android_Android编程之控件ListView使用方法,本文实例讲述了Android编程之控 - phpStudy...

    Android编程之控件ListView使用方法 本文实例讲述了Android编程之控件ListView使用方法.分享给大家供大家参考.具体分析如下: 控件ListView是一个重要的控件,可以被用作 ...

  7. vc2010下调用miniblink控件实现浏览器简单实例

    vc2010下调用miniblink控件实现浏览器简单实例 上篇文章对vc6下实现miniblink控件实现浏览器简单实例进行了说明,现在针对vc2010下实现例子进行说明. Miniblink只有一 ...

  8. vb.net 教程 3-10 窗体编程 datagridview控件 3 禁止追加行 与 禁止删除行

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 如<vb.net 教程 3-10 窗体编程 datagridview控件 1 初步 > ...

  9. 在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组

    在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组 摘要:本文介绍如何使用 Visual Basic® .NET 和 Visual C#™ .NET 创建和管理控 ...

最新文章

  1. Linux CENTOS7 Linux流量监控工具-iftop 安装过程以及示例!
  2. python装饰器_Python装饰器是个什么鬼?
  3. 土地利用转移矩阵图怎么做_肺癌骨转移有哪些早期症状?做什么检查可以发现?怎么治疗?...
  4. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(安装依赖包_03)
  5. Python应该怎么去练习和使用
  6. 图像编码中的小白问题sps ,pps ,nalu ,frame ,silce ect....
  7. domino代理通过Request_Content域接收extjs以post方式提交的数据
  8. [翻译] KGModal
  9. cad二次开发程序的绿色安装
  10. 【CV】计算机视觉入坑必备
  11. CCIELAB之路由重分布之单点双向重分布的汇总路由反馈
  12. C语言由邻接矩阵求可达矩阵算法,邻接矩阵与可达矩阵计算.pdf
  13. vcm服务器如何修改端口,录音棚里的电动“机器人”-YAMAHA DM1000VCM控制模块设置教程...
  14. 16Aspx.com源码2013年10月到2013年12月详细
  15. 努比亚更新系统服务器,努比亚N3升级更新V2.11官方最新完整rom包
  16. iOS调用高德地图导航
  17. 幻想破灭!为何“每个儿童一台笔记本电脑”项目屡屡陷入困境?
  18. 前端学习第二课——基础1——基本标签
  19. B站视频下载工具唧唧down的安装和使用教程
  20. 盖亚绘制的星图里,藏着银河系不为人知的混乱过去

热门文章

  1. Java 提供的默认排序算法
  2. STM32选型手册 2021
  3. 嵌入式RFIDIC卡读写模块|读卡刷卡模块HX880D系列的应用与操作说明
  4. vue如何搭建脚手架,超详细
  5. 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(基于AR人脸库)
  6. 《趣谈网络协议》学习笔记 DAY04
  7. K8s(Kubernetes), docker中的registry是什么意思?和windows中的注册表registry有什么区别?
  8. chrome Web Speech API 简单的语音识别实现 win10 开启立体声混音
  9. AI机器人源码,电话机器人源码和系统部署运行环境freeswitch
  10. Linux i2ctool 工具的使用方法