vb.net 教程 3-11 窗体控件综合编程 1
来源:互联网 发布:indexof( ,) js 编辑:程序博客网 时间:2024/06/05 08:12
通过之前的学习,大家对窗体和控件知识已经有了初步的理解,本节开始将进行一些综合编程训练。
先从简单开始,综合编程1 计算器。
先考虑一下计算器的设计,可以参考windows的计算器。最基本那种就可以了。
下面是一个计算器控件摆放和命名:
txtValue的readonly属性设置为true;按钮的FlatStyle属性设置为Popup。
代码比较容易懂,我直接给出来:
'做运算的第一个数字 Dim numFirst As Double '做运算的第二个数字 Dim numSecond As Double '运算符号 Dim operatesymbol As String '清除 Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click txtValue.Text = "0" operatesymbol = "" End Sub '删除最后一个数字 Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click If txtValue.Text.Length = 1 Then txtValue.Text = "0" ElseIf txtValue.Text.Length > 1 Then txtValue.Text = txtValue.Text.Substring(0, txtValue.Text.Length - 1) End If End Sub '按下数字按钮 Private Sub btn1_Click(sender As Object, e As EventArgs) Handles _ btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click Dim btnclick As Button = CType(sender, Button) Dim addnumber As String = btnclick.Text Select Case txtValue.Text Case "0" txtValue.Text = addnumber Case "-0" txtValue.Text = "-" & addnumber Case Else txtValue.Text &= addnumber End Select End Sub '按下小数点 Private Sub btnDot_Click(sender As Object, e As EventArgs) Handles btnDot.Click txtValue.Text &= "." End Sub '按下正负号按钮 Private Sub btnNegPos_Click(sender As Object, e As EventArgs) Handles btnNegPos.Click If txtValue.Text.Substring(0, 1) = "-" Then txtValue.Text = txtValue.Text.Substring(1, txtValue.Text.Length - 1) Else txtValue.Text = "-" & txtValue.Text End If End Sub '按下运算符按钮 Private Sub btnOperate_Click(sender As Object, e As EventArgs) Handles btnAdd.Click, btnSub.Click, btnDiv.Click, btnMul.Click Dim btnclick As Button = CType(sender, Button) numFirst = Double.Parse(txtValue.Text) operatesymbol = btnclick.Text txtValue.Text = "0" End Sub '按下等于按钮 Private Sub btnEqual_Click(sender As Object, e As EventArgs) Handles btnEqual.Click numSecond = Double.Parse(txtValue.Text) Dim dbValue As Double Select Case operatesymbol Case "+" dbValue = numFirst + numSecond Case "-" dbValue = numFirst - numSecond Case "*" dbValue = numFirst * numSecond Case "/" dbValue = numFirst / numSecond Case "" Exit Sub Case Else Exit Sub End Select Dim strValue As String = dbValue.ToString txtValue.Text = strValue End Sub '按下平方按钮 Private Sub btnSquare_Click(sender As Object, e As EventArgs) Handles btnSquare.Click Dim btnclick As Button = CType(sender, Button) numFirst = Double.Parse(txtValue.Text) Dim dbValue As Double dbValue = numFirst ^ 2 Dim strValue As String = dbValue.ToString txtValue.Text = strValue End Sub
也显而易见代码中还存在些bug,请试着改正:
1、运行完毕后,数字按钮按下将会添加到运算结果后面;
2、数字除以0或者结果超大的时候会显示“正无穷大”,任然可以参与运算,但是会导致错误;
3、多次按下运算符会导致误认为第一个做计算的数字为0,导致结果不正确。
学习更多vb.net知识,请参看 vb.net 教程 目录
阅读全文
0 0
- vb.net 教程 3-11 窗体控件综合编程 1
- vb.net 教程 3-11 窗体控件综合编程 2-1
- vb.net 教程 3-11 窗体控件综合编程 2-3
- vb.net 教程 3-11 窗体控件综合编程 2-2
- vb.net 教程 3-2 窗体编程之窗体 1
- vb.net 教程 3-4 窗体编程 公共控件11 ToolTip
- vb.net 教程 3-4 窗体编程 公共控件1 Button、Label、TextBox & CheckBox
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 1
- vb.net 教程 3-4 窗体编程 公共控件10 TreeView 1
- vb.net 教程 3-3 窗体编程 输入对话框 1
- vb.net 教程 3-1 窗体编程基础 1
- vb.net 教程 3-1 窗体编程基础 2
- vb.net 教程 3-2 窗体编程之窗体 3
- vb.net 教程 3-2 窗体编程之窗体 2
- vb.net 教程 3-2 窗体编程之窗体 4
- vb.net 教程 3-2 窗体编程之窗体 5
- vb.net 教程 3-4 窗体编程 公共控件3 Listbox & NumericUpDown
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 3
- Android Studio——关于Android Studio2.3无法自动打开apk
- python之(集成开发环境)IDLE
- python基础笔记-7
- poj
- (三)elasticsearch 5x 索引优化
- vb.net 教程 3-11 窗体控件综合编程 1
- linux 下 zookeeper 安装配置
- 欢迎使用CSDN-markdown编辑器
- 软件测试工具
- 170531 逆向-CrackMe之007
- 编译原理总结
- 用词云做我的头像
- Spring Boot Redis 数据缓存
- ubuntu网络调试工具