Vb.net 计算器;显示数字和运算符
我正在使用计算器,我想知道是否有人能给出一些关于如何在文本框中显示数字和运算符的提示。我试着自己做,但没有成功 您好 仅p.D.提示,未完成代码。我需要学习 这是我的密码Vb.net 计算器;显示数字和运算符,vb.net,calculator,Vb.net,Calculator,我正在使用计算器,我想知道是否有人能给出一些关于如何在文本框中显示数字和运算符的提示。我试着自己做,但没有成功 您好 仅p.D.提示,未完成代码。我需要学习 这是我的密码 Public Class Form1 Dim FirstNumber As Double Dim Operation As String Dim ClearField As Boolean = True Private Sub AddNumber(NewValue As String) If ClearField =
Public Class Form1
Dim FirstNumber As Double
Dim Operation As String
Dim ClearField As Boolean = True
Private Sub AddNumber(NewValue As String)
If ClearField = True Then Viewer.Text = ""
Viewer.Text &= NewValue
ClearField = False
End Sub
'BUTTONS
'Numbers
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
AddNumber("1")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
AddNumber("2")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
AddNumber("3")
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
AddNumber("4")
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
AddNumber("5")
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
AddNumber("6")
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
AddNumber("7")
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
AddNumber("8")
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
AddNumber("9")
End Sub
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Zero.Click
AddNumber("0")
End Sub
'Buttons "," "del" "clear"
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Dot.Click
Viewer.Text = Viewer.Text + ","
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Del.Click
Viewer.Text = Viewer.Text.Remove(Viewer.Text.Length - 1, 1)
End Sub
Private Sub Clear_Click(sender As Object, e As EventArgs) Handles Clear.Click
Viewer.Text = ""
End Sub
Private Sub Sum_Click(sender As Object, e As EventArgs) Handles Sum.Click
FirstNumber = Val(Viewer.Text)
Operation = "SUM"
Viewer.Text = ""
End Sub
Private Sub Minus_Click(sender As Object, e As EventArgs) Handles Minus.Click
FirstNumber = Val(Viewer.Text)
Operation = "MINUS"
Viewer.Text = ""
End Sub
Private Sub Multi_Click(sender As Object, e As EventArgs) Handles Multi.Click
FirstNumber = Val(Viewer.Text)
Operation = "MULTI"
Viewer.Text = ""
End Sub
Private Sub Div_Click(sender As Object, e As EventArgs) Handles Div.Click
FirstNumber = Val(Viewer.Text)
Operation = "DIV"
Viewer.Text = ""
End Sub
Private Sub Result_Click(sender As Object, e As EventArgs) Handles Result.Click
Dim SecondNumber As Double
Dim Result As Double
SecondNumber = Val(Viewer.Text)
'Fx
If Operation = "SUM" Then
Result = FirstNumber + SecondNumber
End If
If Operation = "MINUS" Then
Result = FirstNumber - SecondNumber
End If
If Operation = "MULTI" Then
Result = FirstNumber * SecondNumber
End If
If Operation = "DIV" Then
Result = FirstNumber / SecondNumber
End If
Viewer.Text = Result
ClearField = True
End Sub
Private Sub SalirToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles SalirToolStripMenuItem1.Click
End
End Sub
末级a)不要使用Val
这很糟糕,从长远来看会造成问题
b) 使用枚举:
Enum myOp
None
Adding
Subbing
Divide
Equals
End Enum
Dim Op As myOp
它们最终会有0到4之间的整数值,但您可以通过名称来引用它们。在大多数人看来,Case语句所产生的代码更少,更易于阅读:
Select Case Op
Case myOp.Adding
Result = FirstNumber + SecondNumber
Case myOp.Subbing
Result = FirstNumber - SecondNumber
' etc
这可以防止在您忘记是“添加”、“添加”、“添加”、“添加”还是“添加”(和/或拼写错误为“addton”)时出现讨厌的错误。+1只需要提示而不需要答案!!-我有点困惑什么事情没有发生。。。你能解释什么是错的吗?你不想要的是什么?a)不要使用<代码> Value/Cube >使用<代码>转换。Toxxx < /代码>或<代码>整数。解析/ tryPARSE < /代码> b)考虑定义一个枚举来跟踪操作而不是字符串c)我不知道你想要什么“文本框”,但是我会在“1”中显示一个标签中的进度……"1 + "..."1 + 2 =". 标签是有意义的,因为你不想让用户编辑进度显示(“查看器”进度显示(特别是如果输入来自单个输入文本框。)@JohnBustos Ty,我在这里学习对吗?:)顺便说一句,我希望我的计算器在文本框中同时显示数字和运算符(结果也是)。现在,当我一个接一个地按下按钮时,显示的内容会消失。。i、 e 2+2=4只需将点击事件代码移动到输入文本框。按键事件,当您看到一个数字或一个操作符调用旧的点击代码时,否则让VB处理退格,删除etcIf您还想显示操作符,然后需要查看您的
[operator]\u click
事件代码。。。现在您有了Viewer.Text=“
”,所以您正在存储号码,但告诉文本框清除。。。另外,如果要显示…=结果
,您还需要查看您的结果\u单击
事件Viewer.Text=Result
-同样,您正在强制文本框仅显示结束值,而不是使用等号将reult添加到结束处。。。。